timg (2)

JS – 生成随机数的方法汇总

一、随机浮点数的生成

1,生成 [ 0, 1 ) 范围内的随机数(大于等于0,小于1)

(1)使用 random() 方法可以返回一个介于 0 ~ 1 之间的伪随机数(包括 0,不包括 1)。
Math.random()

 

2,生成 [ n, m ) 范围内的随机数(大于等于n,小于m)

(1)这种最简单,因为和 random 的特点保持一致。只需使用如下公式即可:

Math.random()*(m-n)+n

(2)比如下面生成 [10,15) 范围内的随机浮点数。

var random1 = Math.random()*(15-10)+10;
console.log(random1);

 

二、随机整数的生成

要生成随机整数,我们还需要借助如下两个方法:
Math.round(num):将 num 四舍五入取整,向上取整  1.5  结果2
Math.floor(num):将 num 向下取整,即返回 num 的整数部分。当然我们也可以使用 parseInt() 方法代替    1.5 结果1

 

 

min ≤ r ≤ max

function RandomNumBoth(Min,Max){
      var Range = Max - Min;
      var Rand = Math.random();
      var num = Min + Math.round(Rand * Range); //四舍五入
      return num;
}

min ≤ r < max

function RandomNum(Min, Max) {
      var Range = Max - Min;
      var Rand = Math.random();
      var num = Min + Math.floor(Rand * Range); //舍去
      return num;
}

min < r ≤ max

function RandomNum(Min, Max) {
      var Range = Max - Min;
      var Rand = Math.random();
      if(Math.round(Rand * Range)==0){       
        return Min + 1;
      }
      var num = Min + Math.round(Rand * Range);
      return num;
}

min < r < max 

function RandomNum(Min, Max) {
      var Range = Max - Min;
      var Rand = Math.random();
      if(Math.round(Rand * Range)==0){
        return Min + 1;
      }else if(Math.round(Rand * Max)==Max)
      {
        index++;
        return Max - 1;
      }else{
        var num = Min + Math.round(Rand * Range) - 1;
        return num;
      }
 }

 

如果插件对您有用,请随意打赏。您的支持将鼓励我做的更好!

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦