php生成隨機的浮點數

今天在開發項目的一個刷將功能時,需要用到概率刷出高等級武將,由於概率相差很大,數值策劃在填表時填寫的都是非常小的浮點數,以前遇到概率問題時都是用mt_rand取一個範圍的整數,當遇到概率差距很大時,也只是把隨機數的上限位數加大,這樣如果數值有調整的話,代碼也需要調整,不利於程序擴展,並且會影響到隨機的精度問題,數值同學建議是生成一個0-1之間的隨機浮點數,想了一下php好像沒有現成的函數可用,又查了一下手冊,發現了以下方法可實現此功能。


function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));

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