javascript - 在 JavaScript 中精确生成随机数

标签 javascript math random

我有这个功能:

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()设置精度的函数

演示:http://jsfiddle.net/2rFW8/1/

关于javascript - 在 JavaScript 中精确生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249756/

相关文章:

javascript - 如何按字母顺序对 div 进行排序,同时保持 div 的形式?

javascript - Kendo ui有面包屑导航菜单吗

javascript - 使用 javascript 更改 SVG 元素的顺序

c - 我似乎无法让我的 C 程序接受输入(直角棱柱计算器)

javascript - 如何使用jquery访问这种Json?

algorithm - 笛卡尔幂 - 通过递归

java - BigInteger.pow(大整数)?

python - random.randint(2, 12) 每次在 Python 中运行时都返回相同的结果

c# - 从范围中选择但排除某些数字

swift - 随机化字典中的值并在标签中显示它们 SWIFT