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));

你可能感兴趣的:(PHP开发)