JS生成随机数的算法

JS生成随机数的算法关于随机数的过程解释:1>.Math.random()表示生成[0,1)的数,所以Math.random()*5生成的都是[0,4]的随机整数。2>Math.floor(num);参数num为一个数值,函数结果为num的整数部分。3>.Math.round(num);参数num为一个数值,函数结果为num四舍五入后的整数。4>.Math.cei…

大家好,又见面了,我是你们的朋友全栈君。

关于随机数的过程解释:

1>. Math.random() 表示生成 [0,1) 的数,所以 Math.random()*5 生成的都是 [0,4] 的随机整数。
2>Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3>.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
4>.Math.ceil(n); 返回大于等于n的最小整数。
5>.random()%51+13我们可以看成两部分:rand()%51是产生 0~50 的随机数,后面+13保证 a 最小只能是 13,最大就是 50+13=63。

生成一定范围内的随机数

比如生成【m,n】范围类的整数。
在 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; 
    } 
} 

生成 [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);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159157.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • navicat创建唯一索引_如果表创建了唯一索引后

    navicat创建唯一索引_如果表创建了唯一索引后

  • insmod失败_ins玩不了

    insmod失败_ins玩不了cmemk:versionmagic’2.6.32mod_unloadmodversionsARMv7’shouldbe’2.6.32preemptmod_unloadmodversionsARMv7’如上所示,是配置没有匹配.比如上面这个要配置为preempt,抢占式的.特此记录下.

  • ExecuteRun「建议收藏」

    ExecuteRun「建议收藏」ExecuteRun

  • Ubuntu 16.04安装Java JDK8

    Ubuntu 16.04安装Java JDK8JavaJDK在linux系统有两个版本,一个开源版本Openjdk,还有一个oracle官方版本jdk,oracleJDK既可以通过添加ppa源命令行安装,也可以去官网下载jdk压缩包安装。下面分别记录一下这三种安装方式的步骤。安装openjdk1、更新软件包列表:sudoapt-getupdate2、安装openjdk-8-jdk:sudoapt-getinstall

  • matlab求解微分方程组(matlab解微分方程的数值解)

    如何用matlab来求解简单的微分方程?举例来说明吧。求解三阶常微分方程。我们知道,求解高阶常微分方程可以化为求解一阶常微分方程组。编写函数eq3.m:%解常微分方程3*y”’+5*y”+6*sin(t)*y=costfunctionydot=eq3(t,y)ydot=[y(2);y(3);(cos(t)-5*y(3)-6*sin(t)*y(1))/3];其中,ydot为一个

  • ViewPager 详解(二)—详解四大函数

    ViewPager 详解(二)—详解四大函数前言:上篇中我们讲解了如何快速实现了一个滑动页面,但问题在于,PageAdapter必须要重写的四个函数,它们都各有什么意义,在上节的函数内部为什么要这么实现,下面我们就结合android的API说明,详细讲解一下。相关文章:1、《ViewPager详解(一)—基本入门》2、《ViewPager详解(二)—详解四大函数》3、《ViewPager详解(三)-…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号