JS随机数实例详解
例1,js生成指定位数的随机数。
<script>
function GetRandomNum(Min,Max)
{
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(1,10);
alert(num);
</script>
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
function generateMixed(n) {
var res = "";
for(var i = 0; i < n ; i ++) {
var id = Math.ceil(Math.random()*35);
res += chars[id];
}
return res;
}
代码说明:
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。
Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
例2,js生成范围内的随机数 。
模仿C#实现的一个生成随机区间整数的函数。
function random(min,max){
return Math.floor(min+Math.random()*(max-min));
}
这个生成随机数的代码,相对简单很多。
例如,生成0-9的随机数(包括0和9) random(0,9)。
例3,js产生随机数。
<script>
document.write(parseInt(10*Math.random())); //输出0~10之间的随机整数
document.write(Math.floor(Math.random()*10+1)); //输出1~10之间的随机整数
function RndNum(n){
var rnd="";
for(var i=0;i<n;i++)
rnd+=Math.floor(Math.random()*10);
return rnd;
}
document.write(RndNum(4)); //输出指定位数的随机数的随机整数
引用部分:
. 从1开始 至 任意值
parseInt(Math.random()*上限+1);
. 从任意值开始 至 任意值
parseInt(Math.random()*(上限-下限+1)+下限);
switch(arguments.length){
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
}
}
document.write(fRandomBy(1,100)); //输出指定范围内的随机数的随机整数
</script>
//给既定文本框按规则付不同的值[引申]
window.onload=function(){
var o=document.getElementsByTagName('input');
o[0].value=fRandomBy(1,10);
o[1].value=fRandomBy(11,20);
o[2].value=fRandomBy(1,100);
o[3].value=fRandomBy(51,100);
}
</script>
-10: <input type="text" /><br />
-20: <input type="text" /><br />
-100: <input type="text" /><br />
-100: <input type="text" /><br />
<html>
<head>
<title>Math</title>
</head>
<body>
<script language="javascript" type="text/javascript">
total = 0
for(i=1;i<=5000;i++)
{num=Math.random();
total +=num
}
average = total/5000
average = Math.round(average*1000)/1000
document.write("<h1>平均数:"+average+"</h1>")
</script>
</body>
</html>
例4,Js 随机数产生6位数字。
Js随机产生6为数字的代码,即生成6位数字随机数。
function MathRand()
{
var Num="";
for(var i=0;i<6;i++)
{
Num+=Math.floor(Math.random()*10);
}
document.getElementById("Lb_Random").innerText=Num;
document.getElementById("Lb_Random").innerHTML=Num;
}
</script>
最后,作为总结,介绍下js生成随机数中常用到的random函数的例子。
js生成随机数,可以使用JavaScript Math.random()内置函数。
以下是Math.random函数的用法:
JavaScript Math.random()内置函数
random函数返回值
返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)
例子,random函数的使用实例。
document.write(Math.random());
//返回10-20的随机数
document.write(Math.random()*(20-10)+10);
//返回指定范围的随机数(m-n之间)的公式
document.write(Math.random()*(n-m)+m);
//基于时间,亦可以产生随机数
var now=new Date();
var number = now.getSeconds(); //这将产生一个基于目前时间的0到59的整数。
var now=new Date();
var number = now.getSeconds()%43; //这将产生一个基于目前时间的0到42的整数。
以上通过实例介绍了js随机数的生成方法,以及js中随机数生成函数Math.random的用法,希望对大家有所帮助。
您可能感兴趣的文章:
JS随机数实例详解
js生成随机数的方法
js生成任意位数的随机数实例
有关c# 随机函数的实例详解
js生成指定范围的随机数
javascript 随机数生成方法介绍
JS 生成随机数的二个小例子
js产生随机数实例分析
js产生随机数实例
JS产生随机数的几种用法