我知道随机生成0到1之间的随机数。
Math.random();
但是如何使用Javascript生成介于1和2,147,483,647之间的随机数?
答案 0 :(得分:2)
您可以简单地将Math.random()
乘以限制值,然后向下舍入。由于Math.random()
返回0到1之间的小数值,因此您将始终获得一些比例限制值,因此您的结果将介于0和您的限制值之间。
如果希望结果为整数,则可以使用乘法结果Math.floor()
向下舍入为整数。
由于您还希望最低值为1而不是0,并且您希望结果包含限制值,因此您可以将1添加到结果中以将其置于精确范围内。
var maxInt = 2147483647; // max 32-bit signed int
function randomInt() {
// generate random value between 1 and maxInt inclusive of both values
return Math.floor(Math.random() * maxInt) + 1;
}
答案 1 :(得分:1)
为了找到一个数字,你可以做一些事情:
var randomNumber = Math.floor(Math.random() * 2147483647);
您还可以编写一个函数来重复该操作,并允许任何最小值或最大值:
function random(min, max) {
return min + Math.floor(Math.random() * (max - min + 1));
}
该功能的解释是它要求最小和最大数量。无论最小数量是多少,我们都会在return语句的后半部分添加。下半部分需要给出最小值和最大值之间不同可能数字的数量,因此我们将Math.random()乘以该确切数字,即max和min加1之间的差值。问题在于这给出了一个小数,因此我们采用它来取消小数。