当我执行 Math.random() 函数时,为什么当“1”是独占时它能够 return“1”?
When I execute a Math.random() function why is it able to return "1" when "1" is exclusive?
当我调用下面的 randomNumber() 函数时,它总是向控制台打印出“1”。这让我感到困惑,因为我认为“0”是包容性的,而“1”是排他性的。如果范围是“0”到“1”,那么 randomNumber() 不会永远 return“1”吗?为什么程序会这样做?
相关代码如下:
function randomNumber(min,max) {
return Math.random()* (max-min) + min;
}
var rand= Math.ceil(randomNumber(0,1));
console.log(rand);
因为rand
不是随机数生成器的输出;它是输出的ceiling,定义为大于或等于输出的最小整数。在你的例子中,那是 1.
试试这个:
function randomCharge(min,max) {
return Math.random()* (max-min) + min;
}
var rand= randomCharge(0,1);
console.log(rand);
当我调用下面的 randomNumber() 函数时,它总是向控制台打印出“1”。这让我感到困惑,因为我认为“0”是包容性的,而“1”是排他性的。如果范围是“0”到“1”,那么 randomNumber() 不会永远 return“1”吗?为什么程序会这样做?
相关代码如下:
function randomNumber(min,max) {
return Math.random()* (max-min) + min;
}
var rand= Math.ceil(randomNumber(0,1));
console.log(rand);
因为rand
不是随机数生成器的输出;它是输出的ceiling,定义为大于或等于输出的最小整数。在你的例子中,那是 1.
试试这个:
function randomCharge(min,max) {
return Math.random()* (max-min) + min;
}
var rand= randomCharge(0,1);
console.log(rand);