您的位置:首页 > Web前端 > JavaScript

JS生成[n,m]的随机数

2018-02-22 11:24 169 查看

基本知识:

Math.ceil(); //天花板函数,向上取整。

Math.floor(); //地板函数,向下取整。

Math.round(); //四舍五入。

Math.random(); //[ 0,1 )之间的随机数。

Math.ceil(Math.random()*10); //获取从1到0的随机整数,取0的概率最小。

Math.round(Math.random()); //可均衡获取0到1的随机整数。

Math.floor(Math.random()*10); //可均衡获得0到9的随机整数。

Math.round(Math.random()*10); //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。

生成[ n,m ]的随机整数

函数功能:生成[ n,m ]的随机整数。

function randomNum(minNum,maxNum){
switch(arguments.length){  //根据函数参数来生成不同的随机数
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}


过程分析:

Math.random()生成[ 0,1 )的数,

所以Math.random()*5生成[ 0,5)的数。

通常希望得到整数,所以得作如下处理:

parseInt(),Math.floor(),Math.ceil(),Math.round()都可以得到整数。

parseInt()和Math.floor()结果都是向下取整。

所以可以得知:Math.random()*5生成的是[ 0 ,4 )的随机整数。

所以生成[ 1, max ]的随机数,如下:

parseInt(Math.random() * max , 10)+1;
Math . floor(Math. random()*max)+1;
Math.ceil(Math.random()*max);


生成[ 0 , max ]的任意数的随机数,如下:

parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));


生成[min,max]的随机数,如下:

parseInt(Math.random*(max-min+1)+min,10);
Math .floor(Math.random()*(max-min+1)+min);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: