js 中 Math.random() 生成指定范围数值的随机数

Math.random函数就不像php的rand函数一样可以生成指数范围的数据了,math.random只是生成了一个伪随机数,之后还要经过我们处理才行哦。

如何生成指定范围值的随机数

方法:利用 parseInt()、Math.floor() 或者 Math.ceil() 进行四舍五入处理

var randomNum = Math.random()*5;
alert(randomNum); // 2.9045290905811183 
alert(parseInt(randomNum,10)); // 2
alert(Math.floor(randomNum)); // 2
alert(Math.ceil(randomNum)); // 3

parseInt() 和 Math.floor() 的效果是一样的,都是向下取整数部分

所以 parseInt ( Math.random() 5,10) 和 Math.floor ( Math.random()5 )都是生成的 0-4 之间的随机数,Math.ceil ( Math.random()*5) 则是生成的 1-5 之间的随机数

生成指定范围数值随机数

  1. 如果你希望生成 1 到任意值的随机数,公式就是这样的:

    // max - 期望的最大值
    parseInt(Math.random()*max,10)+1;
    Math.floor(Math.random()*max)+1;
    Math.ceil(Math.random()*max);
  2. 如果你希望生成 0 到任意值的随机数,公式就是这样的:

    // max - 期望的最大值
    parseInt(Math.random()*(max+1),10);
    Math.floor(Math.random()*(max+1));
  3. 如果你希望生成任意值到任意值的随机数,公式就是这样的:

    // max - 期望的最大值
    // min - 期望的最小值 
    parseInt(Math.random()*(max-min+1)+min,10);
    Math.floor(Math.random()*(max-min+1)+min);
Last modification:May 4th, 2021 at 03:04 am
如果觉得我的文章对你有用,请随意赞赏