javascript 生成指定范围的随机整数
Math.random()
函数返回一个浮点, 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。
[0,1) === [即从0(包含0)到...1但不包括1(排除1)。
[0,1) === 左闭右开区间
/** * 生成指定范围的随机整数 * @param min * @param max * @param type * @returns int */ function getRandInt(min,max,type){ type = type || 1; min = Math.ceil(min); max = Math.floor(max); switch(type){ case 1: //得到一个两数之间的随机整数,这个值不小于min(如果min不是整数的话,得到一个向上取整的 min),并且小于(但不等于)max [min,max) return Math.floor(Math.random() * (max - min)) + min; case 2: //得到一个两数之间的随机整数,包括两个数在内,这个值比min大(如果min不是整数,那就不小于比min大的整数),但小于(但不等于)max [min,max] return Math.floor(Math.random() * (max - min + 1)) + min; case 3: //得到一个两数之间的随机整数, (min,max) return Math.floor(Math.random() * (max - min-1)) + min+1; } }
不要用舍入来完成这个任务,但是这样做会导致你的随机数处于一个不均匀的分布,这可能不符合你的需求
测试:
//测试 for(var i=0;i<=100;i++){ document.write(getRandInt(10,15,3)+"<br>"); }