当前位置:   article > 正文

js 生成随机数_js在5*5的正方形网格中,输出一个随机数

js在5*5的正方形网格中,输出一个随机数

我的封装

  1. /**
  2. *获取随机数-整数
  3. * minNum:最小值
  4. * maxNum:最大值
  5. */
  6. var randomNum=function (minNum,maxNum){
  7. return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
  8. };
  9. //调用 1-20的随机数
  10. randomNum(1,20);

  1. /**
  2. *获取随机数-小数,保留小数后2位
  3. * minNum:最小值
  4. * maxNum:最大值
  5. */
  6. var randomNum=function (minNum,maxNum){
  7. return Number((Math.random()*(maxNum-minNum+1)+minNum).toFixed(2));
  8. };
  9. //结果6.9 意味着6.9也是6里面的数
  10. console.log(randomNum(3,6))

 

 //结果6.9   意味着6.9也是6里面的数,为了解决这个麻烦我们可以这样写

  1. /**
  2. *获取随机数-小数,保留小数后2位
  3. * minNum:最小值
  4. * maxNum:最大值
  5. */
  6. var randomNum=function (minNum,maxNum){
  7. var num= Number((Math.random()*(maxNum-minNum+1)+minNum).toFixed(2));
  8. num=num>maxNum?maxNum:num;
  9. return num;
  10. };
  11. console.log(randomNum(3,6))

 

转载:js 生成随机数 | 菜鸟教程

js 可以使用 Math(算数) 对象来实现随机数的生成。

需要了解的 Math 对象方法

方法描述
ceil(x)对数进行上舍入,即向上取整。
floor(x)对 x 进行下舍入,即向下取整。
round(x)四舍五入。
random()返回 0 ~ 1 之间的随机数,包含 0 不包含 1。

一些实例说明:

  1. Math.ceil(Math.random()*10); // 获取从 1 到 10 的随机整数,取 0 的概率极小。
  2. Math.round(Math.random()); // 可均衡获取 0 到 1 的随机整数。
  3. Math.floor(Math.random()*10); // 可均衡获取 0 到 9 的随机整数。
  4. 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 生成验证码或者随机选中一个选项时很有用。

  1. //生成从minNum到maxNum的随机数
  2. function randomNum(minNum,maxNum){
  3. switch(arguments.length){
  4. case 1:
  5. return parseInt(Math.random()*minNum+1,10);
  6. break;
  7. case 2:
  8. return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
  9. break;
  10. default:
  11. return 0;
  12. break;
  13. }
  14. }

过程分析:

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] 的随机数,公式如下:

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

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/106824?site
推荐阅读
相关标签
  

闽ICP备14008679号