2014-02-07 96 views
0

我對這個非常有用的網站的第一個問題:JavaScript的隨機編號帶有小數

我做了一個函數來創建JavaScrpt隨機生成的數字,即使小數。現在輸入必須是整數,我打算改變它,但現在不行。

功能:

function randomNumber(lowest, highest, power) { 
    lowest = Math.floor(lowest); 
    highest = Math.floor(highest); 
    var factor = Math.pow(10, (power || 0)); 
    var result = (Math.floor(Math.random() * (factor * (highest - lowest) + 1)) + (factor * lowest))/factor; 
    return result; 
} 

問:

有沒有更好的方式來達到預期的效果?

+0

函數中'power'參數的用途是什麼? – JLRishe

+0

@JRRishe得到的數字高於預期的數值,可以被「淹沒」,然後按因子分類。如果沒有自動給定,則選擇0,否則將獲得函數調用 –

+0

中給出的值。恐怕這並沒有真正使我對它更清楚。所以,假設有人稱爲randomNumber(0,30,3),那麼期望的可能值是多少? – JLRishe

回答

0
<script type="text/javascript"> 

    var num=(Math.random()*49+1).toFixed(3); 

    alert(num); 

</script> 

這將生成一個帶小數的隨機數。

0

不知道我得到你想要做的,但看看你是否沿着你需要的線。

function genRandNumber(num, max) { 
    var max = max || 10000; 
    return Math.floor((Math.floor(num * Math.random(max)) + Math.random()) * 10)/10; 
} 

genRandNumber(2000)