JS生成某个范围的随机数【四种情况详解】


Posted in Javascript onApril 20, 2016

前言:

JS没有现成的函数,能够直接生成指定范围的随机数。

但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数。

利用它,我们就可以生成指定范围内的随机数。

而涉及范围的话,就有个边界值的问题。这样就包含四种情况:

1)min ≤ r ≤ max  (一般这种比较常见)

2)min ≤ r < max

3) min < r ≤ max

4)min < r < max

一、min ≤ r ≤ max

function RandomNumBoth(Min,Max){
      var Range = Max - Min;
      var Rand = Math.random();
      var num = Min + Math.round(Rand * Range); //四舍五入
      return num;
}

二、min ≤ r < max

function RandomNum(Min, Max) {
      var Range = Max - Min;
      var Rand = Math.random();
      var num = Min + Math.floor(Rand * Range); //舍去
      return num;
}

三、min < r ≤ max

function RandomNum(Min, Max) {
      var Range = Max - Min;
      var Rand = Math.random();
      if(Math.round(Rand * Range)==0){       
        return Min + 1;
      }
      var num = Min + Math.round(Rand * Range);
      return num;
}

四、min < r < max 

function RandomNum(Min, Max) {
      var Range = Max - Min;
      var Rand = Math.random();
      if(Math.round(Rand * Range)==0){
        return Min + 1;
      }else if(Math.round(Rand * Max)==Max)
      {
        index++;
        return Max - 1;
      }else{
        var num = Min + Math.round(Rand * Range) - 1;
        return num;
      }
 }

以上这篇JS生成某个范围的随机数【四种情况详解】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 简短右键菜单 多浏览器兼容
Jan 01 Javascript
两个JavaScript jsFiddle JSBin在线调试器
Mar 14 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
JavaScript的原型继承详解
Feb 15 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
JavaScript实现经典排序算法之选择排序
Dec 28 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
webstorm添加vue.js支持的方法教程
Jul 05 Javascript
浅谈vue-cli 3.0.x 初体验
Apr 11 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
Vue如何基于vue-i18n实现多国语言兼容
Jul 17 Javascript
浅析JS动态创建元素【两种方法】
Apr 20 #Javascript
纯JS代码实现一键分享功能
Apr 20 #Javascript
JavaScript动态生成二维码图片
Apr 20 #Javascript
JS动态创建元素的两种方法
Apr 20 #Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 #Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
Apr 20 #Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 #Javascript
You might like
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
PHP数据过滤的方法
2013/10/30 PHP
js 处理URL实用技巧
2010/11/23 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
django 实现简单的插入视频
2020/04/07 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
详细分析Python垃圾回收机制
2020/07/01 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
使用html5制作loading图的示例
2014/04/14 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
面试自我介绍演讲稿
2014/04/29 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
比赛主持人开场白
2015/05/29 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
关于python中模块和重载的问题
2021/11/02 Python