Home > Web Front-end > JS Tutorial > JS generates random numbers within a certain range [detailed explanation of four situations]_javascript skills

JS generates random numbers within a certain range [detailed explanation of four situations]_javascript skills

WBOY
Release: 2016-05-16 15:04:28
Original
1642 people have browsed it

Foreword:

JS does not have a ready-made function that can directly generate random numbers in a specified range.

But it has a function: Math.random() This function can generate a random number in [0,1).

Using it, we can generate random numbers within a specified range.

When it comes to range, there is a problem of boundary values. This includes four situations:

1) min ≤ r ≤ max (generally this is more common)

2) min ≤ r < max

3) min < r ≤ max

4) min < r < max

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;
}
Copy after login

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;
}
Copy after login

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;
}
Copy after login

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;
      }
 }
Copy after login

The above article about JS generating random numbers in a certain range [detailed explanation of four situations] is all the content shared by the editor. I hope it can give you a reference, and I hope you will support Script Home more.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template