使用Math.random()获得50/50几率的正确函数

时间:2017-06-20 11:15:02

标签: javascript

获得精确50/50几率的正确函数是什么:

return Math.random() < 0.5;

Vs的

return Math.random() <= 0.5;

2 个答案:

答案 0 :(得分:12)

Math.random()

  

Math.random()函数返回[0,1]范围内的浮点伪随机数;也就是说,从0(含)到最高但不包括1(不包括)

随机数位于[0,0.5)[0.5,1)范围内。所以你应该使用return Math.random() < 0.5;来获得(理论上)50/50的机会。

答案 1 :(得分:2)

第一个是正确的,因为随机数生成器返回一个从0到0.99999999的数字(取决于生成器本身的准确精度)

因此,使用&#34;&lt;&#34;将值拆分为两组。运算符,你应该得到两个相等的范围:

[0至0.49999999]和[0.5至0.9999999]