欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

JS获取自定义范围随机数

shiping1 的头像

JS获取自定义范围随机数

JavaScript 2012-07-02 JavaScript,随机数,random

在JS中,并没有直接提供自定义范围内获取随机数的方法,但通过random函数的利用稍加处理即可实现此功能。

在JS中Math.random()方法返回介于0至1之间的一个随机小数,不包括0和1。显然,这个功能不能直接满足我们的需求,我们需要的是从n到m之间的随机整数。

我们先来看第一个需求的实现:获取1到10之间的随机数

/**
 * JS获取1到10随机数
 */

function rd(){
    return Math.floor(Math.random()*10+1);
}

alert(rd());

以上公式中,使用了Math.floor()方法。先使用Math.random()方法产生一个小数随机值,然后乘以10使个位数在1至10之间,然后使用Math.floor()方法舍去小数部分即可实现。

在以上案例的基础上我们写一个可以随机产生n至m之间的任意随机整数就非常容易了,请看以下代码

/**
 * JS获取n至m随机整数
 * 琼台博客
 */
function rd(n,m){
	var c = m-n+1;	
	return Math.floor(Math.random() * c + n);
}
var n = 5;
var m = 100;
alert(rd(n,m));
来自 http://www.qttc.net/201207115.html





 

javascript 随机数生成方法

分类: JavaScript 常用JavaScript代码 39553人阅读 评论(4) 收藏 举报

1.使用内置的随机数发生方法:
Math.random(); //该方法产生一个0到1之间的浮点数。
Math.floor(Math.random()*10+1); //1-10
Math.floor(Math.random()*24);//0-23 

2.基于时间,亦可以产生随机数:
var now=new Date(); 
var number = now.getSeconds(); //这将产生一个基于目前时间的0到59的整数。 

var now=new Date(); 
var number = now.getSeconds()%43; //这将产生一个基于目前时间的0到42的整数。 

3.
一个相当优秀的的随机数发生器程序,能应用于许多领域。

程序代码 程序代码
<script language="JavaScript"><!--
// The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)
// See: http://www.msc.cornell.edu/~houle/javascript/randomizer.html 
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd() {
    rnd.seed = (rnd.seed*9301+49297) % 233280;
    return rnd.seed/(233280.0);
};
function rand(number) {
    return Math.ceil(rnd()*number);
};
// end central randomizer. -->
</script>
来自 http://blog.csdn.net/guoguo1980/article/details/4551353
普通分类: