Den*_*ret 36
您可以使用标准函数:lcg_value().
这是rand()文档中给出的另一个函数:
// auxiliary function
// returns random number with flat distribution from 0 to 1
function random_0_1()
{
return (float)rand() / (float)getrandmax();
}
Run Code Online (Sandbox Code Playgroud)
Pie*_*ouw 17
文档示例:
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}
Run Code Online (Sandbox Code Playgroud)
class SomeHelper
{
/**
* Generate random float number.
*
* @param float|int $min
* @param float|int $max
* @return float
*/
public static function rand($min = 0, $max = 1)
{
return ($min + ($max - $min) * (mt_rand() / mt_getrandmax()));
}
}
Run Code Online (Sandbox Code Playgroud)
rand(0,1000)/1000 returns:
0.348 0.716 0.251 0.459 0.893 0.867 0.058 0.955 0.644 0.246 0.292
Run Code Online (Sandbox Code Playgroud)
或使用更大的数字(如果您想在小数点后增加位数)