首页 > 技术文章 > 如何计算任意值之间的随机数呢

huchaoheng 2014-11-02 16:53 原文

大家知道怎么计算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

推荐阅读