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);