13

可能重复:
在特定范围内的 Javascript 中生成随机数?

有人能告诉我如何在 JavaScript 中使用 Math.random() 或其他方式获取一位随机数(1,2,3,.. 不是 0.1,0.2,.. 或 1.0,5.0,..)吗?

4

5 回答 5

22

Math.random()0返回and之间的浮点数1,因此只需将其乘以10并将其转换为整数:

Math.floor(Math.random() * 10)

或者更短一点的东西:

~~(Math.random() * 10)
于 2013-01-02T13:27:15.870 回答
7

免责声明:

JavaScript 的 math.rand()不是加密安全的,这意味着它应该用于密码、PIN 码和/或赌博相关的随机数生成。如果这是您的用例,请改用网络加密 API!( w3c )


如果不包括数字 0 (1-9):

function randInt() {
    return Math.floor((Math.random()*9)+1);
}

如果包含数字 0 (0-9):

function randIntWithZero() {
     return Math.floor((Math.random()*10));
}
于 2013-01-02T13:31:04.217 回答
4
var randomnumber=Math.floor(Math.random()*10)

其中 10 表示随机数将介于 0-9 之间。

于 2013-01-02T13:26:44.330 回答
1

用这个:

Math.floor((Math.random()*9)+1);
于 2013-01-02T13:26:45.843 回答
1
Math.floor((Math.random()*10));

你的随机整数在 0 到 10 之间!

于 2013-01-02T13:26:50.983 回答