0

我已经使用 math.random() 创建了一个随机数,但我希望它是一个整数并且没有任何小数位继承人我得到了什么:

var RandomNumber = function RandomNumber13() {
return Math.random() * (3 - 1) + 1;
}
4

3 回答 3

3
// Returns a random integer between min and max
// Using Math.round() will give you a non-uniform distribution!
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min);
}

来源:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random

于 2013-10-30T08:27:03.750 回答
2

改变:

return Math.random() * (3 - 1) + 1;

return Math.floor(Math.random() * 3 + 1);

为了有1到3之间的随机整数。


更新:

要在 1、2 或 3 之间生成随机数,您还可以使用以下命令:

var numbers = [1,2,3];
return numbers[Math.floor(Math.random() * numbers.length)];
于 2013-10-30T08:26:42.227 回答
2

试试这个,用floor()

/**
 * Returns a random integer between min and max
 * Using Math.round() will give you a non-uniform distribution!
 */
function getRandomInt (min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

Floor :将数字向下舍入到最接近的整数

Source from Generate random integers in JavaScript in a specific range?

于 2013-10-30T08:26:47.923 回答