tim*_*ker 1 javascript random math
我已经看了一些其他问题,但它们都有脱节和混乱的答案.
我希望有一个随机的6位数字,大部分时间这个脚本都可以工作 - 但它确实产生了大约20%的7位数字.
Math.floor((Math.random() * 999999) + 100000)
Run Code Online (Sandbox Code Playgroud)
我的问题:
请不要建议使用子字符串或类似的东西,因为它有点像黑客
这是一个简单的计算范围错误.注意:下面的文字使用[和]表示包含范围和/ (或)表示独占范围.
要获得整数数学中等于[100000,1000000]的范围[100000,999999],您需要获得[0,900000]范围内的数字,然后添加100000,例如
Math.floor(900000 * Math.random()) + 100000
Run Code Online (Sandbox Code Playgroud)
因子是900000而不是899999,因为Math.random()函数产生的数字在[0,1]范围内,即不包括1本身.
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |