当您Math.floor(Math.random()*10)+1
应该根据我的理解选择1-10之间的随机数时。
但是,当我将 更改为+1
更高或更低的任何数字时,1
我会得到相同的结果。为什么是这样?究竟是什么+1
意思?
当您Math.floor(Math.random()*10)+1
应该根据我的理解选择1-10之间的随机数时。
但是,当我将 更改为+1
更高或更低的任何数字时,1
我会得到相同的结果。为什么是这样?究竟是什么+1
意思?
随机数生成器产生一个 0.0 <= n < 1.0 范围内的值。如果您想要一个介于 1 和某个数字之间的数字,则需要应用+1
偏移量。
一般可以使用:
Math.floor(Math.random() * N) + M
这将生成 M 和 M + N - 1 之间的值。
Math.random()
生成一个介于 0 和 1 之间的随机数。
因此Math.random()*10
生成一个 0 到 10 之间的随机数,以及(Math.random()*10)+1
一个 1 到 11 之间的数字。
Math.floor()
去掉这个数字的小数,并使它成为一个从 0 到 10 的整数。
您可以在此处查看逻辑的顺序进展
整数在 1 到 10 之间
等:math.random() [随机返回:0.19157057767733932]
(这个数字仍然有很多小数位)
要获得随机整数,您需要将随机生成的数字乘以 10。
etc
math.random()*10 =[随机返回:2.9757621488533914]
等:
math.floor(0.6) [return 0]
math.floor(0.6)+ 1 [return 1]
基本的:
(random() >= 0)
总是true
(random() < 1)
总是true
(Math.floor(random()) == 0)
总是true
最大:
(Math.floor(random() * 10) >= 0)
总是true
(Math.floor(random() * 10) < 10)
总是true
最低限度:
(Math.floor(random() * 10) + 1 >= 1)
总是true
(Math.floor(random() * 10) + 1 < 11)
总是true
最大回合:
(Math.round(random() * 10, 0) >= 0)
总是true
(Math.round(random() * 10, 0) <= 10)
总是true