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 相关文章推荐
Prototype使用指南之hash.js
Jan 10 Javascript
围观tangram js库
Dec 28 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
Sep 20 Javascript
swtich/if...else的替代语句
Aug 16 Javascript
JS Array.slice 截取数组的实现方法
Jan 02 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
如何使node也支持从url加载一个module详解
Jun 05 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
JS使用正则表达式提交页面验证的代码
Oct 16 Javascript
详解webpack的文件监听实现(热更新)
Sep 11 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
swfupload 多文件上传实现代码
2008/08/27 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
Python函数返回值实例分析
2015/06/08 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
python僵尸进程产生的原因
2017/07/21 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
最新英语专业学生求职信范文
2013/09/21 职场文书
工程造价管理专业大专生求职信
2013/10/06 职场文书
求职自我推荐信
2014/06/25 职场文书
应聘教师求职信范文
2015/03/20 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript