JS 浅谈生成指定范围内随机整数的五种方法-阿里云开发者社区

开发者社区> 佀无极> 正文

JS 浅谈生成指定范围内随机整数的五种方法

简介:
+关注继续查看

2018年3月8日

JS 浅谈生成指定范围内随机整数的五种方法

Math对象方法random()生成的随机数带有小数点,随机整数的方法有很多种,平时经常用到,所以记录五种简单的方法。
Math.random(); 返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。
如下生成一个0到6的随机数:
    Math.random()*6

举例生成一个3~9之间的整数看五种方法更直观。
一、基于Math对象方法 ceil() 对数进行上舍入。
    公式如下:
    Math.ceil((Math.random()*(max-min+1))+min-1);
    代码如下:
    Math.ceil((Math.random()*7)+2);

二、基于Math对象方法 floor() 对数进行下舍入。
    公式如下:
    Math.floor((Math.random()*(max-min+1))+min);
    代码如下:
    Math.floor((Math.random()*7)+3);

三、基于Math对象方法 round() 对数进行四舍五入。
    公式如下:
    Math.round((Math.random()*(max-min))+min);
    代码如下:
    Math.round((Math.random()*6)+3);

四、基于Number对象方法 toFixed(x) 把数字四舍五入为指定x小数位数的数字,把数字转换为字符串。
    公式如下:
    ((Math.random()*(max-min))+min).toFixed();
    代码如下:
    ((Math.random()*6)+3).toFixed();

五、基于JavaScript全局函数 parseInt() 解析一个字符串,并返回一个整数。
    公式如下:
    parseInt((Math.random()*(max-min+1))+min);
    代码如下:
    parseInt((Math.random()*7)+3);

 

直接套用上面的公式就可以了

function rand(x,y){
    return Math.ceil((Math.random()*(y-x+1))+x-1);
}
rand(3,9);

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js用参数生成路径
我们在处理路线/路径时常做很多工作,我们总是需要对其进行操作。 当我们需要生成带有参数的路径以将浏览器推送到那里时,generatePath 可以帮助我们!
4845 0
Json 逆向生成 javaBean
我的开发环境:IDEA+maven+jdk1.8 1.下载idea插件GsonFormat 2. 添加依赖 该插件支持的json序列化工具: 我在这里用阿里的fastJson 依赖,想用gson、jackson的都可以,插件都支持 com.
1311 0
如何用.NET生成二维码?
二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,常见的有PDF417、QR Code、Code 49、Code 16K、Code One等。二维码技术已经被广泛应用于公安、外交、军事等部门对各类证件的管理等。本文介绍一种如何种C#语言生成二维码的技术。
520 0
js之随机生成
js之随机生成
4838 0
C/C++中各种类型int、long、double、char表示范围(最大最小值)
来源:http://blog.csdn.net/xuexiacm/article/details/8122267 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main(...
773 0
从json自动生成模型代码
http://www.cocoachina.com/ios/20150713/12480.html
731 0
字符串 全排列生成问题
转自:http://blog.csdn.net/zinss26914/article/details/8939140 问题   输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba 思路   1.
761 0
百度云推送pkg_content参数 到达指定activity
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
847 0
+关注
佀无极
脚踏实地,心存高远!
69
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载