我有一个小函数,它允许接收一些必须是百分比值 (0-100) 的整数,并滚动一些机会来了解它当前是否正确(滚动):
function RollV (value) {
var rollvalue = Math.floor((Math.random() * 100) + 1),
result = true;
if (value >= rollvalue) {
result = true;
} else {
result = false;
}
return result;
}
据我所知,这个 func 不会返回带有 float value
的 true
,因为随机 rollvalue
不能是 float,就像如果我想使用 0.001% 的机会,这不会作为 true
传递,是否有任何方法可以使数学随机使用浮点值?
JSFiddle:http://jsfiddle.net/7nbv2nrd/
最佳答案
您可以使用以下代码:
(Math.random() * (upper_limit - lower_limit) + lower_limit).toFixed(3)
更新
正如@Pointy 所说,这将返回字符串,如果您希望它是 float 的,您可以使用 parseFloat(value) 或 .toFixed()
编辑
Math.random()
默认情况下结果是 float ,如果您不想设置限制(假设您可以使用 0 到 1 之间的值),则删除 Math .floor
来自你的代码
关于javascript - 使用浮点值制作 math.random,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25975208/