64

我需要使用 JavaScript 创建一个介于 0.0200 和 0.120 之间的随机数。我该怎么做?

4

3 回答 3

137

你可以使用

(Math.random() * (0.120 - 0.0200) + 0.0200).toFixed(4)

toFixed(n) 用于将数字转换为字符串,仅保留“n”位小数。

希望对你有帮助^_^

于 2013-07-18T15:07:21.400 回答
22

给你:

function generateRandomNumber() {
    var min = 0.0200,
        max = 0.120,
        highlightedNumber = Math.random() * (max - min) + min;

    alert(highlightedNumber);
};

generateRandomNumber();

我理解你真正的问题——你不知道如何在浮点数之间得到一个随机数,对吧?顺便说一句,答案已经通过了。

要使用代码,只需单击此处到 jsFiddle

更新

要获得小数的前四个数字,请使用.toFixed(3)方法。我在 jsFiddle 上做了一个例子。

于 2013-07-18T14:57:20.260 回答
10

如果你想生成那个和其他随机数或东西,我建议你看看Chance库。它提供了一个很好的抽象层,因此您不必摆弄 Math.random() 并编写自己的。

chance.floating({min: 0.02, max: 0.12});

全面披露:我是作者,所以我有点偏见:)

此外,如果这是您需要生成的唯一随机事物,或者它是大小是真正问题的客户端,我建议只使用上述建议之一。不值得几 Kb 几行就可以了。

于 2013-07-18T16:20:49.473 回答