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 面向对象编程
Oct 28 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
Oct 31 Javascript
详解JavaScript中的强制类型转换
Apr 15 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
js绘制一条直线并旋转45度
Aug 21 Javascript
JavaScript实现页面高亮操作提示和蒙板
Jan 04 Javascript
JavaScript实现两个数组的交集
Mar 25 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
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
2015/07/27 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
Python中的流程控制详解
2021/02/18 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
软件测试有哪些?什么是配置项?
2012/02/12 面试题
聚美优品励志广告词
2014/03/14 职场文书
个人总结格式范文
2015/03/09 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis