当我调用下面的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);
答案 0 :(得分:1)
因为rand
不是随机数发生器的输出;它是输出的 ceiling ,它被定义为大于或等于输出的最小整数。在你的情况下,那是1。
请改为尝试:
function randomCharge(min,max) {
return Math.random()* (max-min) + min;
}
var rand= randomCharge(0,1);
console.log(rand);