我有一个小函数,允许接收一些必须是百分比值(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不会返回true
浮动value
,因为随机rollvalue
不能浮动,就像我想要使用0.001%的几率一样不会以true
传递,是否有任何方法可以使用浮点值使数学随机化?
JSFiddle:http://jsfiddle.net/7nbv2nrd/
答案 0 :(得分:1)
您可以使用以下代码:
(Math.random() * (upper_limit - lower_limit) + lower_limit).toFixed(3)
<强>更新强>
正如@Pointy所说,这将返回字符串,如果你希望它是浮点数你可以使用parseFloat(value)或.toFixed()
修改强>
默认情况下, Math.random()
结果为浮动状态,如果您不想设置限制(让我们用0到1的值表示您的确定),请删除Math.floor
来自你的代码
答案 1 :(得分:1)
这适合我。
function RollV(value) {
var rollvalue = Math.random();
$('.result').text(rollvalue);
return value >= rollvalue;
}
console.log(0.01,RollV(0.01));