【发布时间】:2016-02-01 21:04:03
【问题描述】:
当我调用下面的 randomNumber() 函数时,它总是将“1”打印到控制台。这让我很困惑,因为我认为“0”是包容性的,而“1”是排斥性的。如果范围是“0”到“1”,那么 randomNumber() 不会永远返回“1”吗?为什么程序会这样做?
以下是相关代码:
function randomNumber(min,max) {
return Math.random()* (max-min) + min;
}
var rand= Math.ceil(randomNumber(0,1));
console.log(rand);
【问题讨论】:
-
不是
random函数,是Math.ceil-- 输入0.00001,执行ceil函数仍然会得到1。 -
因为
Math.ceil()。 -
从数学上讲,它是包容还是排斥并没有太大区别:来自
(0,1)的随机与来自[0,1]的随机基本相同。恰好得到0或1的事件的概率为零,尽管它仍有可能发生。
标签: javascript function random max min