我有这个功能:
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;
}
现在精度还没有实现,有人对我如何实现它有什么好的想法吗? precision 选项的目的是为您提供固定数量的多位小数,例如:
// A number from 0 to 10 that will always come back with two decimal places
Number.random(0, 10, 2); // 3.14
最佳答案
试试这个:
Number.random = function(minimum, maximum, precision) {
minimum = minimum === undefined ? 0 : minimum;
maximum = maximum === undefined ? 9007199254740992 : maximum;
precision = precision === undefined ? 0 : precision;
var random = Math.random() * (maximum - minimum) + minimum;
return random.toFixed(precision);
}
它使用 .toFixed()设置精度的函数
关于javascript - 在 JavaScript 中精确生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249756/