0和1之间的Javascript随机数
我似乎无法使用0和1之间的Javascript随机数,javascript,random,floating-point,Javascript,Random,Floating Point,我似乎无法使用Math.floor((Math.random()*1.0)+0.0)从0.0到1.0生成一个随机浮点数 有解决方法吗?按原样将生成一个介于0.0和1.0之间的随机浮点数 工作示例: document.getElementById(“生成”).onclick=function(){ document.getElementById(“random”).value=Math.random(); }; 生成随机数 正如您可能看到的,乘以1.0再加上0.0是完全无用的。打破机制的是Mat
Math.floor((Math.random()*1.0)+0.0)从0.0到1.0生成一个随机浮点数代码>
有解决方法吗?按原样将生成一个介于0.0
和1.0
之间的随机浮点数
工作示例:
document.getElementById(“生成”).onclick=function(){
document.getElementById(“random”).value=Math.random();
};代码>
生成随机数
正如您可能看到的,乘以1.0再加上0.0是完全无用的。打破机制的是Math.floor,它很可能将您的数字减少到0.0,而不考虑0.0和1.0 Math.random.returns之间的数字。从0包括到1排除。所以它永远不会返回1。@Darky正确Math.random()
始终为范围[0,1)
生成数字。OP提出的最小-最大解决方案的工作方式相同。Math.floor()
可能会将范围[0.0,1.0>
中的任何值转换为0.0。摆脱Math.floor()
call.*1.0
和+0.0
应该做什么?只需使用普通的Math.random()
并去掉其余部分。也许Math.round(Math.random())
?:)