区间内的随机数.html

<script type="text/javascript">
/*
0~10 之间的随机数
Math.random() 0~0.999
Math.random()*10 0~9.999

10~20
Math.random()*10+10 10~19.999

30~60
Math.random()*30 0~29.999
Math.random()*30+30 30~59.999

区间范围内的随机数
Math.random()*(大数-小数)+小数
*/

var res=Math.random()*10+10
console.log(res)
/*
10~20之间的随机整数
方法1.四舍五入
Math.round(Math.random()*10)+10

0~9.999
0.4 0
0.5~1.4 1
8.5~9.4 9
9.5 10
*/
var res=Math.round(Math.random()*10)+10
console.log(res)

//概率
var arr=[]
for (var i=0;i<1000000;i++) {
arr.push(Math.round(Math.random()*10)+10)
}
var obj={}
for (var j=0;j<arr.length;j++) {
if (obj[arr[j]]) {
obj[arr[j]]++
} else{
obj[arr[j]]=1
}
}
console.log(arr)
console.log(obj)/*数字出现的次数
* 10: 49677
11: 100317
12: 100058
13: 100036
14: 100685
15: 99409
16: 99838
17: 99881
18: 100019
19: 99889
20: 50191
*/



/*
方法2.向下取整
Math.random()*11 0~10.999
Math.random()*11+10 10~20.999
Math.floor(Math.random()*(大数-小数+1))+小数
*/
var res1=Math.floor(Math.random()*(20-10+1))+10
console.log(res1)

//概率
var arr=[]
for (var i=0;i<1000000;i++) {
arr.push(Math.floor(Math.random()*(20-10+1))+10)
}
var obj={}
for (var j=0;j<arr.length;j++) {
if (obj[arr[j]]) {
obj[arr[j]]++
} else{
obj[arr[j]]=1
}
}
console.log(arr)
console.log(obj)/*
* 10: 91135
11: 91220
12: 90998
13: 90922
14: 90632
15: 91424
16: 91011
17: 90733
18: 90846
19: 90360
20: 90719
*/

//封装函数
//生成一个区间范围内的随机整数
function fn(a,b){
//先拿到一个最大、最小值
var max=Math.max(a,b)
var min=Math.min(a,b)

var res=Math.floor(Math.random()*(max-min+1))+min

//返回结果
return res

}

console.log(fn(30,50))


</script>

原文地址:https://www.cnblogs.com/d534/p/12842387.html