前言:
JS沒(méi)有現(xiàn)成的函數(shù),能夠直接生成指定范圍的隨機(jī)數(shù)。
但是它有個(gè)函數(shù):Math.random() 這個(gè)函數(shù)可以生成 [0,1) 的一個(gè)隨機(jī)數(shù)。
利用它,我們就可以生成指定范圍內(nèi)的隨機(jī)數(shù)。
而涉及范圍的話,就有個(gè)邊界值的問(wèn)題。這樣就包含四種情況:
1)min ≤ r ≤ max (一般這種比較常見(jiàn))
2)min ≤ r < max
3) min < r ≤ max
4)min < r < max
一、min ≤ r ≤ max
function RandomNumBoth(Min,Max){ var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.round(Rand * Range); //四舍五入 return num;}
二、min ≤ r < max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.floor(Rand * Range); //舍去 return num;}
三、min < r ≤ max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); if(Math.round(Rand * Range)==0){ return Min + 1; } var num = Min + Math.round(Rand * Range); return num;}
四、min < r < max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); if(Math.round(Rand * Range)==0){ return Min + 1; }else if(Math.round(Rand * Max)==Max) { index++; return Max - 1; }else{ var num = Min + Math.round(Rand * Range) - 1; return num; } }
以上這篇JS生成某個(gè)范圍的隨機(jī)數(shù)【四種情況詳解】就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注