【问题标题】:Math.random() applied as a percentage?Math.random() 以百分比形式应用?
【发布时间】:2014-04-15 16:08:32
【问题描述】:

所以我有这段代码,它为某些图像的顶部和左侧属性提供了一个随机数。

    var random1 = Math.ceil(Math.random() * 500);
var random2 = Math.ceil(Math.random() * 500);

$(document).ready(function () {

    $('#randomp').css('top', random1);
    $('#randomp').css('left', random2);

});

问题是我更喜欢随机化 1 到 100% 之间的数字。那可能吗?

【问题讨论】:

  • 这就是复制和粘贴的事情。它并不能解决所有问题。

标签: javascript random percentage


【解决方案1】:
Math.floor(Math.random() * 100) + 1 + '%'

【讨论】:

    【解决方案2】:

    由于Math.random 返回的随机数不小于0 且小于1,因此您只需将结果乘以99 而不是500 即可得到1 和100%.

    最后,代码应该如下:

    var random1 = Math.round(Math.random() * 99) + 1;
    var random2 = Math.round(Math.random() * 99) + 1;
    

    【讨论】:

      【解决方案3】:

      这会给你一个介于 0 和 100 之间的数字(都包括在内): Math.floor(Math.random() * 101);

      1. Math random 会给你一个介于 0(包括)和 1(不包括)之间的数字
      2. 如果将该数字乘以 101,它会得到一个介于 0(包括)和 101(不包括)之间的数字
      3. Math.floor 将返回小于或等于上述数字的最大整数。

      【讨论】:

        【解决方案4】:

        不确定是否要四舍五入,所以两者都有:

        console.log( rando(1, 100) + "%" );
        console.log( rando(1, 100, "float") + "%" );
        <script src="https://randojs.com/1.0.0.js"></script>

        这使用randojs.com 使随机性简单易读。如果您需要了解更多信息,请查看网站。

        【讨论】:

          猜你喜欢
          • 2020-05-10
          • 2020-08-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-11
          • 2015-07-28
          相关资源
          最近更新 更多