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 相关文章推荐
JavaScript 节点操作 以及DOMDocument属性和方法
Dec 06 Javascript
Javascript控制页面链接在新窗口打开具体方法
Aug 16 Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
javascript中不易分清的slice,splice和split三个函数
Mar 29 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
Jul 25 Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 Javascript
javascript 数组去重复(在线去重工具)
Dec 17 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
微信小程序自定义select下拉选项框组件的实现代码
Aug 28 Javascript
微信小程序实现的canvas合成图片功能示例
May 03 Javascript
vue+iview实现文件上传
Nov 17 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
浅析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
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python使用Matplotlib画条形图
2020/03/25 Python
Python二维码生成识别实例详解
2019/07/16 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python实现简单井字棋游戏
2020/03/04 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
python关于倒排列的知识点总结
2020/10/13 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
详解HTML5中的manifest缓存使用
2015/09/09 HTML / CSS
获奖的大学生创业计划书
2014/01/05 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
汇源肾宝广告词
2014/03/20 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
企业工会工作总结2015
2015/05/13 职场文书
第一节英语课开场白
2015/06/01 职场文书
国王的演讲观后感
2015/06/03 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
比较node.js和Deno
2021/04/27 Javascript