如何计算任意值之间的随机数呢

大家知道怎么计算1到10之间的随机数吗,下面听我道来,

首先:Math.random()这个方法就是计算随机数的返回大于等于0小于1的随机数,

Math.random()*10岂不是返回大于等于0返回小于10吗,但是他只能返回小于10的数,不能返回10,怎么办呢,我们在原来的函数上再加1就变成了Math.random()*10+1;此时就可以返回1到10的随机数了,但是我们返回的很多是小数,不符合要求,下面就用到了Math.floor()这个函数了,这个函数执行向下舍入,也就是说10.99经过Math.floor都是10,Math.ceil(是向上舍入)即使是10.00001,返回也是11,现在我们就求出来结果了,Math.floor(Math.random()*10+1);这样就能求出结果了;

那2到10之间的函数怎么办,直接上代码Math.floor(Math.random()*9+2);

那3到11呢,4到88呢,每次这样自己算也不是办法,下面给大家介绍个通用方法;

function selectfrom (lowValue,highValue){

var choice=highValue-lowValue+1;

return Math.floor(Math.random()*choice+lowValue);

}

然后直接调上面的方法就OK;

前篇博客太粗糙,幸得一园友指点,以后命名啥的都写规范了,欢迎大家留言讨论js

时间: 2024-10-13 14:42:53

如何计算任意值之间的随机数呢的相关文章

golang取两个数字之间的随机数

//取两个数字之间的随机数int64 func RandInt64(min, max int64) int64 { if min > max { return max } return rand.New(rand.NewSource(min)).Int63n(max) }

使系统生成50个0-9之间的随机数

使系统生成50个0-9之间的随机数,将每个数字出现的次数存入一个一维数组中,统计出现次数最多和出现次数最少的数字,及出现次数和出现频率. import java.util.Scanner; public class Anpa1010doubleball { public static void main(String[] args) { int [] b=new int [50];  //定义长度为50的数组b int [] number=new int[10];  //定义长度为10的数组nu

获取10个1-20之间的随机数,要求不能重复

package cn; import java.util.ArrayList; import java.util.Random; /**  * 获取10个1-20之间的随机数,要求不能重复  *   * 用数组实现,但是数组的长度是固定的,长度不好确定.  * 所以我们使用集合实现.  *   * 分析:  *  1.创建产生随机数的对象  *      2.创建一个存储随机数的集合  *      3.定义统计变量,从0开始,是否小于10  *       是 : 先产生一个随机数,判断该随机

Java基础知识强化之集合框架笔记35:List练习之产生10个1~20之间的随机数(要求:随机数不能重复)

1. 需求:获取10个1-20之间的随机数,要求不能重复 用数组实现,但是数组的长度是固定的,长度不好确定.所以我们使用集合实现. 分析: • 创建产生随机数的对象 • 创建一个存储随机数的集合. • 定义一个统计变量.从0开始. • 判断统计遍历是否小于10 是:先产生一个随机数,判断该随机数在集合中是否存在. 如果不存在:就添加,统计变量++. 如果存在:就不搭理它.   否:不搭理它      • 遍历集合 2. 代码实现: 1 package cn.itcast_02; 2 3 impo

如何返回固定之间的随机数?

在Java编程会经常用到固定之间的随机数,对于初学者往往对这个固定的随机数感到非常头痛,那有没有什么公式可以轻松达到目的呢? 当然有,公式如下: Math.random()*(n-m)+m 如:要求25至45之间的随机数,Math.random()*(45-25)+25,即Math.random()*20+25,注意强制转换类型int num=(int)(Math.random()*(20))+25 使用Random一样的使用!

【ArrayList:获取 10 个 1-20 之间的随机数,要求不能重复】

package com.companyname.common.test; import java.util.ArrayList; import java.util.Random; /** * @Description 获取 10 个 1-20 之间的随机数,要求不能重复 * @Author Created by shusheng. * @Email [email protected] * @Date 2018/12/14 */ public class RandomDemo { public s

0-1之间的随机数 C/C++

先贴代码(小数点后6位) vc6.0测试 #include "stdafx.h" #include <time.h> #include <stdlib.h> int main(int argc, char* argv[]) { double d = 0.0; int nCount = 0; srand((int)time(0)); for(int x=0;x<1000;x++){ d=((double)rand())/RAND_MAX; if (d>

任意两个数之间的随机数

function random(start,end){               var sum=end-start+1            return Math.floor(Math.random()*sum+start)          }

利用Java API生成50到100之间的随机数

/** * */ package com.you.demo; import java.util.Random; /** * @author Administrator * */ public class RandomNum { /** * @param args */ public static void main(String[] args) { Random rand = new Random(); System.out.println(rand.nextInt(50)+50); } } 结