一、预备知识

Math.ceil();  //向上取整。

Math.floor();  //向下取整。

Math.round();  //四舍五入。

Math.random();  //0.0 ~ 1.0 之间的一个伪随机数。【包含0不包含1】 //比如0.8647578968666494

Math.ceil(Math.random()*10);      // 获取从1到10的随机整数 ,取0的概率极小。

Math.round(Math.random());   //可均衡获取0到1的随机整数

Math.floor(Math.random()*10);  //可均衡获取0到9的随机整数

Math.round(Math.random()*10);  //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半

因为结果在0~0.4 为0,0.5到1.4为1...8.5到9.4为9,9.5到9.9为10。所以头尾的分布区间只有其他数字的一半。

二 、生成[n,m]的随机整数

函数功能:生成[n,m]的随机整数。

在js生成验证码或者随机选中一个选项时很有用。。

//生成从minNum到maxNum的随机数
function randomNum(minNum,maxNum){ switch(arguments.length){ case 1: return parseInt(Math.random()*minNum+1,10); break; case 2: return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); break; default: return 0; break; }
} 

过程分析:

Math.random()生成[0,1)的数,所以

Math.random()*5生成{0,5)的数。

通常期望得到整数,所以要对得到的结果处理一下。

parseInt(),Math.floor(),Math.ceil()和Math.round()都可得到整数。

parseInt()和Math.floor()结果都是向下取整。

所以Math.random()*5生成的都是[0,4] 的随机整数。

所以生成[1,max]的随机数,公式如下:

// max - 期望的最大值
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);

所以生成[0,max]到任意数的随机数,公式如下:

// max - 期望的最大值
parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));

所以希望生成[min,max]的随机数,公式如下:

// max - 期望的最大值
// min - 期望的最小值
parseInt(Math.random()*(max-min+1)+min,10);
Math.floor(Math.random()*(max-min+1)+min);

本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4988516.html有问题欢迎与我讨论,共同进步。

转载于:https://www.cnblogs.com/starof/p/4988516.html

js生成[n,m]的随机数相关推荐

  1. php mysql随机数不重复,js生成不重复的随机数

    这篇文章主要为大家详细介绍了js生成不重复的随机数,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. JS代码如下: /** * * @param * ...

  2. js生成字母和数字随机数

    别的不多说,直接上代码 function RandomRange(min, max) {var returnStr = "",range = (max ? Math.round(M ...

  3. js生成不重复的随机数

    今天在做蓝桥杯模拟赛题目的时候看到了这个题目,特此做个记录,主要就是利用的递归还有判断语句就能实现 const getRandomNum = function (min, max, countNum) ...

  4. js如何生成[n,m]的随机数

    js如何生成[n,m]的随机数 一.总结 一句话总结:生成随机数就是用的Math的random方法. 1.Math.random()得到的数据的左右开闭情况是怎样的? 左闭又开 所以Math.floo ...

  5. js和php能生成一样的随机数_JavaScript_JS生成某个范围的随机数【四种情况详解】,前言: JS没有现成的函数,能 - phpStudy...

    JS生成某个范围的随机数[四种情况详解] 前言: JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数. 利用它 ...

  6. js生成随机数函数,倒计时函数

    生成xxxx-xxxx-xxxx-xxxx形式的随机数 function randomString(n) {let chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmn ...

  7. 真的了解js生成随机数吗

    由js生成一切随机数的基础都是Math.random(),这个方法比较特别,生成的随机数落在的区间是[0,1),进行一次操作的话,js只能生成一个类似于[n,m)这样,左闭右开的区间.所以当有一些特殊 ...

  8. js 生成四位随机数

    js生成四位随机数 <script>var charactors="1234567890"; var value='',i; for(j=1;j<=4;j++){ ...

  9. 前端开发:JS生成32随机数的方法

    前言 在前端开发过程中,关于JS逻辑相关的使用相比都不陌生,尤其是在日常开发中使用到的常用的逻辑内容,如倒计时的使用.点击时间放重复点击.生成随机数等等,这些都是非常常用的内容.那么本篇博文就来分享一 ...

最新文章

  1. Eclipse mac 下的快捷键
  2. 如何排查系统的性能瓶颈点?
  3. python英语翻译-python制作英语翻译小工具代码实例
  4. textarea 输入框限制字数
  5. Microsoft Visual Studio 2010 破解下载!
  6. 软件测试工程师-Linux介绍、命令
  7. 计算机 标量,标量关系
  8. 视频教程.VB6.0+ACCESS开发数据管理软件
  9. 关于民族类型的下拉框
  10. SIF协议(一线通)
  11. 一起用Python做个自动化弹钢琴脚本,我竟然弹出了《天空之城》!
  12. MSDN,我告诉你——一个很棒的工具站
  13. Win2012或Win2016安装网卡
  14. Linux终端不能显示表情符问题
  15. 推荐几个 Go 圈子的高质量肝帝
  16. 高中计算机奥林匹克竞赛试题及答案,答案来了!2020年第36届全国高中数学奥赛决赛完整试题和参考答案...
  17. java 实现秒抢_Java实现抢红包算法,附完整代码(公平版和手速版)
  18. 你知道域名劫持的重要性吗? 教你防范网站被域名劫持
  19. 一个新的王者在8月即将加冕——Treasure project(TPC)
  20. Electron主进程与渲染进程相互通信

热门文章

  1. eos和以太坊有什么关系_以太坊 2.0是什么?
  2. s1200 博图高速脉冲计数值没有变化_赤峰发泡硅胶板,高速公路橡胶垫橡胶厂-京品吉...
  3. mysql concat 引号,在MySQL concat里面使用多个单引号,三引号的问题
  4. python【蓝桥杯vip练习题库】BASIC-17矩阵乘法(枚举)
  5. python之组合数据类型
  6. MATLAB数学计算与工程分析范例教程,MATLAB数学计算与工程分析范例教程
  7. java static关键字_好程序员Java教程分享static关键字的理解
  8. css中vertical-align生效
  9. 网站哪些细节做不好会导致网站的跳出率过高?
  10. 浅析个人网站建设需要注重的建设问题