使用js Math.random()函数生成n到m间的随机数字
2016-04-19 14:16
676 查看
本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备。
Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)
生成n-m,包含n但不包含m的整数:
第一步算出 m-n的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n
第四步parseInt(Math.random()*w+n, 10)
生成n-m,不包含n但包含m的整数:
第一步算出 m-n的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n
第四步Math.floor(Math.random()*w+n) + 1
生成n-m,不包含n和m的整数:
第一步算出 m-n-2的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n +1
第四步Math.round(Math.random()*w+n+1) 或者 Math.ceil(Math.random()*w+n+1)
生成n-m,包含n和m的随机数:
第一步算出 m-n的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n
第四步Math.round(Math.random()*w+n) 或者 Math.ceil(Math.random()*w+n)
例子:
生成800-1500的随机整数,包含800但不包含1500
复制代码代码如下:
1500-800 = 700
Math.random()*700
var num = Math.random()*700 + 800;
num = parseInt(num, 10);
只需要简单的四步就可以完成。
补充:
Math.ceil() 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入
Math.floor() 返回小于等于数字参数的最大整数,对数字进行下舍入
Math.round() 返回数字最接近的整数,四舍五入
原文地址:http://www.jb51.net/article/56019.htm
Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)
生成n-m,包含n但不包含m的整数:
第一步算出 m-n的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n
第四步parseInt(Math.random()*w+n, 10)
生成n-m,不包含n但包含m的整数:
第一步算出 m-n的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n
第四步Math.floor(Math.random()*w+n) + 1
生成n-m,不包含n和m的整数:
第一步算出 m-n-2的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n +1
第四步Math.round(Math.random()*w+n+1) 或者 Math.ceil(Math.random()*w+n+1)
生成n-m,包含n和m的随机数:
第一步算出 m-n的值,假设等于w
第二步Math.random()*w
第三步Math.random()*w+n
第四步Math.round(Math.random()*w+n) 或者 Math.ceil(Math.random()*w+n)
例子:
生成800-1500的随机整数,包含800但不包含1500
复制代码代码如下:
1500-800 = 700
Math.random()*700
var num = Math.random()*700 + 800;
num = parseInt(num, 10);
只需要简单的四步就可以完成。
补充:
Math.ceil() 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入
Math.floor() 返回小于等于数字参数的最大整数,对数字进行下舍入
Math.round() 返回数字最接近的整数,四舍五入
原文地址:http://www.jb51.net/article/56019.htm
相关文章推荐
- [AFNetworking练习2]GCD方式Post提交json
- js变量提升
- 使用Gson解析和创建json
- href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
- [LeetCode][JavaScript]Power of Four
- 对于highchart中缺少某一x轴节点数据,从而导致数据前移的问题解决方案
- xml 与 json介绍
- javaScript数据类型解析
- JS计算时间差值
- 匿名函数的认识
- ResultSet转换List集合、附带转换json
- 通过OnResultExecuted设置返回内容为JSONP
- Extjs 在组件件中存储变量
- js 函数定义三种方式
- 利用原生JavaScript获取样式的方式小结
- JS Date parse
- Javascript 面向对象编程:(1)封装;(2)构造函数的继承;(3)非构造函数的继承
- JavaScript prototype
- JSP学习
- 原生JS实现的简单“瀑布流”布局