Azi*_*nam 11 javascript random math floor
为什么会有人叫Math.floor上一个Math.random结果?我看过它用过:
Math.floor(Math.random() * num);
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
Mar*_*ers 17
Math.random返回0到1之间的浮点数.
返回[0,1]范围内的浮点伪随机数,从0(包括)到最大但不包括1(不包括),然后可以缩放到所需范围.
将此乘以n得出0(包括)和n(不包括)之间的浮点数.
Math.floor然后用于将此浮点数转换为0到n - 1(含)之间的整数.
jfr*_*d00 14
为什么有人会在Math.random结果上调用Math.floor?
简而言之,Math.floor()当你想要将十进制值截断为其最接近的整数时(只需删除小数部分)就会调用一次.因此,3.9变为3,2.1变为2等等......所以,你通常会在需要时使用它一个整数,你想要一个小于或等于十进制值的整数.数学库也有Math.ceil()和Math.round(). Math.ceil()得到你下一个更大的整数,Math.round()舍入到最接近或者向下的最接近的整数,取决于哪个更接近.
我看过它用过:
Math.floor(Math.random() * num);
打破Math.floor(Math.Random() * num)它的各个部分并解释每一件,你得到这个:
Math.random()给你一个介于0和1之间的随机十进制数,包括0,但不包括1.因此,它可能会给你类似的东西0.38548569372.
Math.random() * num给出一个介于0和num之间的随机十进制数,包括0,但不包括num.所以,如果num是10,它可能会给你3.8548569372.
Math.floor(Math.random() * num))给出一个介于0和num之间的随机整数,包括0,但不包括num.所以,它可能会给你3.
Math.floor()将十进制数截断为仅整数部分.随机整数通常用于从数组中获取随机值(需要为整数).