一、随机浮点数的生成
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;
}
}