JS生成某個範圍的隨機數【四種狀況詳解】

前言:dom

JS沒有現成的函數,可以直接生成指定範圍的隨機數。函數

可是它有個函數:Math.random()  這個函數能夠生成 [0,1) (包括0,不包括1)的一個隨機數。spa

利用它,咱們就能夠生成指定範圍內的隨機數。code

而涉及範圍的話,就有個邊界值的問題。這樣就包含四種狀況:blog

1)min ≤ r ≤ max  (通常這種比較常見)io

2)min ≤ r < maxfunction

3) min < r ≤ maxclass

4)min < r < max隨機數

1、min ≤ r ≤ maxdi

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

2、min ≤ r < max

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

3、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;
}

4、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;
      }
 }
相關文章
相關標籤/搜索