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的跟随屏幕滚动代码
Jul 24 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
Aug 28 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
Sep 20 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
vue 引入公共css文件的简单方法(推荐)
Jan 20 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 Javascript
Javascript如何实现双指控制图片功能
Feb 25 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
Dec 07 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 STRING 陷阱原理说明
2010/07/24 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
浅谈PHP中的
2016/04/23 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
PHP 文件上传限制问题
2019/09/01 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
python基础教程之基本内置数据类型介绍
2014/02/20 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
解决python 找不到module的问题
2020/02/12 Python
python绘制封闭多边形教程
2020/02/18 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
eBay加拿大站:eBay.ca
2019/06/20 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
文秘人员工作职责
2014/01/31 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
从事会计工作年限证明
2015/06/23 职场文书
大学新生入学感想
2015/08/07 职场文书
导游词之五台山
2019/10/11 职场文书