javascript:随机数x~y公式推理

  • 前提:0.00001是指超过0的最小值 0.99999是指不到1的最大值

  • 先推理到取0~x的公式

    1. Math.random() 取值是[0,1)

    2. 所以Math.random() *2 取值是[0,2)

    3. 但是 步骤2 取值是小数 所以需要用到Math.ceil()

    4. Math.ceil(Math.random()* 2) 取值是0-2随机

    5. 但是参考 步骤1 仔细想想 向上取整只有随机到正好是0 ceil出才是0

      图片1

    6. 所以做调整 向下取整Math.floor(Math.random()* 2)

      图片2

    7. 这样取值就是0~0.99999为0,1~1.99999为1,随机的0-1的

    8. 综上所述,随机取0~X公式为Math.floor(Math.random* x+1)

  • 推理取x~y的随机数

    1. 随机 2~4 可以转换成 => 0~2 +2

      parseInt(Math.random()* 3) + 2

    2. 随机-1~1 可以转换成 => 0~2-1

      parseInt(Math.random()* 3) - 1

    3. 综上所述可得

      随机x~y 可以转换成 => 0~y-x +x

      parseInt(Math.random()* y-x+1) +x

posted @ 2021-03-03 15:06  镜像山海  阅读(193)  评论(0)    收藏  举报