【问题标题】:Javascript random number between 0 and 10到1之间的Javascript随机数
【发布时间】:2014-11-24 09:37:32
【问题描述】:

我似乎无法使用Math.floor((Math.random() * 1.0) + 0.0);

生成从 0.01.0随机浮点数

有解决办法吗?

【问题讨论】:

  • Math.floor() 可能会将[0.0, 1.0> 范围内的 any 值变为 0.0。摆脱Math.floor() 电话。 * 1.0+ 0.0 应该做什么?只需使用普通的Math.random() 并摆脱其余部分。
  • 可能是Math.round(Math.random())? :)

标签: javascript random floating-point


【解决方案1】:

Math.random() 将在0.01.0 之间生成一个随机浮点数。

工作示例:

document.getElementById("generate").onclick = function() {
  document.getElementById("random").value = Math.random();
};
<button id="generate">Generate random number</button>
<input id="random">

【讨论】:

  • 从 0 包含到 1 不包含。所以它永远不会返回 1。
  • @dusky 正确。 Math.random() 始终为范围 [0, 1) 生成数字。 OP 提出的 min-max 解决方案的工作原理相同。
【解决方案2】:

正如您可能看到的,乘以 1.0 并加上 0.0 完全没有用。破坏您的机制的是 Math.floor,它很可能会将您的数字减少到 0.0,而不管 Math.random 返回的 0.0 和 1.0 之间的数字是多少。

【讨论】:

    猜你喜欢
    • 2014-04-11
    • 2014-09-22
    • 1970-01-01
    • 2011-07-07
    • 2016-01-26
    • 2013-10-06
    • 2012-12-17
    相关资源
    最近更新 更多