作业帮 > 数学 > 作业

JS:var die = Math.floor(Math.random()*6 + 1); 为什么die的值会在1和6之

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/10 19:52:57
JS:var die = Math.floor(Math.random()*6 + 1); 为什么die的值会在1和6之间?
JS:var die = Math.floor(Math.random()*6 + 1); 为什么die的值会在1和6之
Math.random() 生成0和1之间的随机小数
Math.random() * 6 生成0和6之间的随机小数
Math.random() * 6 + 1生成1和7之间的随机小数
Math.floor(x)函数,返回小于等于x的最大整数
所以,Math.floor(Math.random() * 6 + 1)生成1和7之间的随机整数(不包括7)
再问: 为什么不包括7??0和1之间是[0,1)的意思吗?
再答: Math.random() 返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 是的 Math.random() * 6 + 1生成1和7之间的随机小数 最小的是 1 最大的是 6.xxxxx,总是小于7的 你使用的是Math.floor(x)函数,它返回的是小于等于x的最大整数:例如 var b=Math.floor(1); b=1 var b=Math.floor(1.4); b=1 var b=Math.floor(-1.4); b=-2 var b=Math.floor(6.9); b=6 var b=Math.floor(-6.9); b=-7 所以,不会返回7 如果,你想返回的是 1-7(包括7)的随机整数,可以用 Math.ceil() 函数:返回大于等于数字参数的最小整数 不知道够不够清楚,希望能帮到你!