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 相关文章推荐
js 目录列举函数
Nov 06 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
May 23 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
Dec 18 Javascript
JavaScript中Function详解
Feb 27 Javascript
js检测判断日期大于多少天的方法
May 04 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
May 30 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
Apr 14 Javascript
微信小程序-getUserInfo回调的实例详解
Oct 27 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
Apr 30 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
2.PHP入门
2006/10/09 PHP
php中的比较运算符详解
2013/10/28 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
深入理解移动前端开发之viewport
2018/10/19 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
次世代生活态度:Hypebeast
2018/07/05 全球购物
中软Java笔试题
2012/11/11 面试题
股份合作协议书
2014/04/12 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python