JS生成某个范围的随机数【四种情况详解】

  作者:bea

前言: JS没有现成的函数,能够直接生成指定范围的随机数。 但是它有个函数:Math.random() 这个函数可以生成 [0,1) 的一个随机数。 利用它,我们就可以生成指定范围内的随机数。 而涉及范围的话,就有个边界值的问题。这样就包含四种情况: 1)min ≤ r ≤ max (一般这种比较常见) 2)min ≤ r < max 3) min < r ≤ max 4)min < r < max 一、min ≤ r ≤ max function

前言:


JS没有现成的函数,能够直接生成指定范围的随机数。


但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数。


利用它,我们就可以生成指定范围内的随机数。


而涉及范围的话,就有个边界值的问题。这样就包含四种情况:


1)min ≤ r ≤ max  (一般这种比较常见)


2)min ≤ r < max


3) min < r ≤ max


4)min < r < max


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


以上这篇JS生成某个范围的随机数【四种情况详解】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。




有用  |  无用

猜你喜欢