我知道Math.floor将数字四舍五入到最低的整数,但当我们执行以下操作时: Math.random() * 10,它不会将数字乘以10,例如9 * 10 = 90,那么这个数字如何在1和10之间?
谢谢你的帮助,我已经得到答案了!
我知道Math.floor将数字四舍五入到最低的整数,但当我们执行以下操作时: Math.random() * 10,它不会将数字乘以10,例如9 * 10 = 90,那么这个数字如何在1和10之间?
谢谢你的帮助,我已经得到答案了!
Math.random()
提供了一个随机数,在区间[0
,1
)内(浮点数:'[' = 包含, ')' = 不包含)。Math.floor((Math.random() * 10) + 1);
中,将Math.random()
与10
相乘将提供一个在区间[0
,10
)内的随机数。+1
将会把结果转化为[1
, 11
)之间的数字。Math.floor( ... )
将随机数从区间[1
, 11
)转换成一个整数值。1
, 10
]内的所有整数。更具体地说,它将是以下集合中的一个数字:{1
,2
,3
,4
,5
,6
,7
,8
,9
,10
}。通过Google V8项目:
Math.random()返回一个带有正号的数字值,大于或等于0但小于1,随机或伪随机选择该范围内具有近似均匀分布的值,使用实现相关的算法或策略。此函数不接受任何参数。
Math.random使用一种称为xorshift128+的算法