【问题标题】:JavaScript Random Numbering With Decimals带小数的 JavaScript 随机编号
【发布时间】:2014-02-07 13:54:26
【问题描述】:

我在这个非常有用的网站上的第一个问题:

我已经创建了一个函数,可以在 JavaScrpt 中创建随机生成的数字,即使是小数。此时输入必须是整数,我已计划更改它,但暂时不行。

功能:

function randomNumber(lowest, highest, power) {
    lowest = Math.floor(lowest);
    highest = Math.floor(highest);
    var factor = Math.pow(10, (power || 0));
    var result = (Math.floor(Math.random() * (factor * (highest - lowest) + 1)) + (factor * lowest)) / factor;
    return result;
}

问题:

有没有更好的方法来达到预期的效果?

【问题讨论】:

  • 你的函数中power参数的作用是什么?
  • @JLRishe 获得比预期更高的数字,然后可以“下限”,然后将它们除以因子。如果没有自动给出值 0 则选择否则它会获取函数调用中给出的值
  • 恐怕这并没有让我更清楚。那么,假设有人叫randomNumber(0, 30, 3),预期的可能值集是什么?

标签: javascript random decimal


【解决方案1】:
<script type="text/javascript">

   var num=(Math.random()*49+1).toFixed(3);

   alert(num);

</script>

这将生成一个带小数的随机数。

【讨论】:

    【解决方案2】:

    不确定我是否明白你想要做什么,但看看这是否符合你的需要。

    function genRandNumber(num, max) {
        var max = max || 10000;
        return Math.floor((Math.floor(num * Math.random(max)) + Math.random()) * 10) / 10;
    }
    
    genRandNumber(2000)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2010-11-10
      相关资源
      最近更新 更多