获取 0.0200 到 0.120 之间的随机数(浮点数)[重复]
Posted
技术标签:
【中文标题】获取 0.0200 到 0.120 之间的随机数(浮点数)[重复]【英文标题】:Get a random number between 0.0200 and 0.120 (float numbers) [duplicate] 【发布时间】:2013-07-17 14:20:48 【问题描述】:我需要使用 javascript 创建一个介于 0.0200 和 0.120 之间的随机数。我该怎么做?
【问题讨论】:
这不是与***.com/questions/1527803/… 的副本。这个问题专门询问浮点数,另一个是整数。答案不兼容,因为它们使用 Math.floor()。 @TedBigham,链接副本中的第一个示例不使用地板。 不使用 floor 的链接答案也只给出了包含/排他的答案。这个问题是模棱两可的,并且基于他们正在寻找包容性/包容性的公认答案,这也证明了非重复状态是合理的。 【参考方案1】:你在这里:
function generateRandomNumber()
var min = 0.0200,
max = 0.120,
highlightedNumber = Math.random() * (max - min) + min;
alert(highlightedNumber);
;
generateRandomNumber();
我理解你真正的问题——你不知道如何在浮点数之间得到一个随机数,对吧?对了,答案已经通过了。
要使用代码,just click here to jsFiddle。
更新
要获得小数的前四个数字,请使用.toFixed(3)
方法。我已经执行了一个示例here, on jsFiddle。
【讨论】:
感谢 JsFiddle。太好了。 是否可以四舍五入,只显示小数点后 3 位?我认为 .toFixed 会起作用,但它没有。 我知道了,我用highlightedNumber = (Math.random() * (max - min) + min).toFixed(4);
我更新了。 @编辑:哦,对不起。我没有看到接受的答案。
对于那些好奇的人,我计算了这个函数的标准差,以确保它具有“随机性”的均匀分布 - view the results。这些东西是interesting to me。【参考方案2】:
你可以使用
(Math.random() * (0.120 - 0.0200) + 0.0200).toFixed(4)
toFixed(n) 用于将数字转换为字符串,只保留“n”位小数。
希望对你有帮助^_^
【讨论】:
+1。对于那些好奇的人,我计算了这个函数的标准偏差,以确保它具有相等的“随机性”分布 - view the results。这类东西是interesting to me。 在那个东西周围扔一个 parseFloat( ) ,它对我来说是完美的。【参考方案3】:如果您希望生成该随机数和其他随机数或其他东西,我建议您查看Chance 库。它提供了一个很好的抽象层,因此您不必摆弄 Math.random() 并编写自己的。
chance.floating(min: 0.02, max: 0.12);
完全披露:我是作者,所以我有点偏见:)
此外,如果这是您需要生成的唯一随机事物,或者它是大小是真正问题的客户端,我建议您只使用上述建议之一。不值得几 Kb 几行就行了。
【讨论】:
不错的图书馆。感谢您的链接和工作;)以上是关于获取 0.0200 到 0.120 之间的随机数(浮点数)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在javascript中获取400到480之间的随机数[重复]