【JavaScript】生成固定区间随机数

Math.random(); //0.0 ~ 1.0 之间的一个伪随机数。【包含0不包含1)

//获取[lowerValue,upperValue]之间的随机数
function selectFrom(lowerValue, upperValue) {
  return parseInt(Math.random() * (upperValue - lowerValue + 1) + lowerValue);
}

function selectFrom(lowerValue, upperValue) {
  return Math.floor(Math.random() * (upperValue - lowerValue + 1) + lowerValue);
}
//利用parseInt()或者Math.floor()取整

为什么不使用Math,round()或者Math.ceil()取整?
因为Math,round()或者Math.ceil()生成的随机数几率并不相同,
Math.round()获取最小值和最大值的几率只有其他数字的一半;
Math,ceil()获取到0的几率极小。

Math.round(Math.random()*10);  //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
//因为结果在0~0.4 为0,0.5到1.4为1...8.5到9.4为9,9.5到9.9为10。所以头尾的分布区间只有其他数字的一半。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。