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实例教程(19) 使用HoTMetal(3)
Dec 23 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
javascript模块化简单解析
Apr 07 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
Async Validator 异步验证使用说明
Jul 03 Javascript
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
Dec 24 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
详解jQuery如何实现模糊搜索
May 10 jQuery
vue读取本地的excel文件并显示在网页上方法示例
May 29 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
PHP中的按位与和按位或操作示例
2014/01/27 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
CCPry JS类库 代码
2009/10/30 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
js Array.slice的8种不同用法示例
2019/07/10 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
Python中关于使用模块的基础知识
2015/05/24 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
python简单猜数游戏实例
2015/07/09 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
python mysql断开重连的实现方法
2019/07/26 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
精彩自我鉴定
2014/01/16 职场文书
音乐教育感言
2014/03/05 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL