【发布时间】:2014-06-08 14:36:03
【问题描述】:
我有这个功能:
Number.random = function(minimum, maximum, precision) {
minimum = minimum === undefined ? 0 : minimum;
maximum = maximum === undefined ? 9007199254740992 : maximum;
precision = precision === undefined ? 0 : precision;
var random = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;
return random;
}
现在精度没有实现,有人对我如何实现它有什么好的想法吗?精度选项的目的是为您提供固定的多个小数位,例如:
// A number from 0 to 10 that will always come back with two decimal places
Number.random(0, 10, 2); // 3.14
【问题讨论】:
-
使用您生成的范围,如果要表示结果,则结果必须是
string。或者,如果要将返回值表示为数字,则需要更改范围。 -
范围是否太大?不用切换到字符串,我能走的最大是多少?
-
我相信是17位有效数字。将不得不仔细检查。所以我想这取决于你想要什么作为
precision的值
标签: javascript math random