理解math.floor(math.random() * (max - min + 1)) + min的含義

理解math.floor(math.random() * (max - min + 1)) + min的含義

外網找了個回答,講的很清楚,翻譯了一下供大家參考。

Math.random()給我們返回一個在0-1範圍內的隨機數。

但我們不想要一個隨機的小數;我們想要一個任意隨機數。我們可以通過我們的Math.random()的結果乘以任意數值區間得到它。舉個例子,如果我們想要一個在0-10之間的隨機數,我們需要乘以10,然後結果中的0.4會變成4。如果我們想要一個7-11的隨機數,即(7,8,9,10,11)。

這個結果我們可以通過Math.random() * (max - min + 1)來得到它。

我們不僅僅想要一個小數,我們想要一個整數。Math.floor()用來砍掉小數後的數值,讓3.14159變成了3。

這就是我們通過 Math.floor(Math.random() * (max - min + 1)).得到的。

現在我們得到了一個從0開始到我們定義的任意範圍的數據。我們想要一個介於7-11的數值,但是現在只得到了0-5。爲了把它變成7-10,我們只需要把任意我們得到的值加上7。7是我們的最小值。

然後就得到了 Math.floor(Math.random() * (max - min + 1)) + min

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章