PHP 两位小数之间的随机小数,步长为 0.5
PHP random decimal between two decimals with step 0.5
我想用步长 0.5 在两个十进制数之间创建随机数。
示例:0、0.5、1、1.5、2、2.5、3、3.5、4、4.5、5...
使用PHP生成两位小数之间的随机小数
到目前为止,我可以用一个小数点逗号生成 0 到 5 之间的数字。
如何整合0.5步?
$min = 0;
$max = 5;
$number = mt_rand ($min * 10, $max * 10) / 10;
这应该适合你:
$min = 0;
$max = 5;
echo $number = mt_rand($min * 2, $max * 2) / 2;
另一种可能的方式:
function decimalRand($iMin, $iMax, $fSteps = 0.5)
{
$a = range($iMin, $iMax, $fSteps);
return $a[mt_rand(0, count($a)-1)];
}
更直观,更少不必要的操作:
$min = 0;
$max = 5;
$step = 0.5;
// Simple for the case above.
echo $number = mt_rand($min * 2, $max * 2) * $step;
更一般,有点复杂的案例
echo $number = mt_rand(floor($min / $step), floor($max / $step)) * $step;
我想用步长 0.5 在两个十进制数之间创建随机数。
示例:0、0.5、1、1.5、2、2.5、3、3.5、4、4.5、5...
使用PHP生成两位小数之间的随机小数
到目前为止,我可以用一个小数点逗号生成 0 到 5 之间的数字。
如何整合0.5步?
$min = 0;
$max = 5;
$number = mt_rand ($min * 10, $max * 10) / 10;
这应该适合你:
$min = 0;
$max = 5;
echo $number = mt_rand($min * 2, $max * 2) / 2;
另一种可能的方式:
function decimalRand($iMin, $iMax, $fSteps = 0.5)
{
$a = range($iMin, $iMax, $fSteps);
return $a[mt_rand(0, count($a)-1)];
}
更直观,更少不必要的操作:
$min = 0;
$max = 5;
$step = 0.5;
// Simple for the case above.
echo $number = mt_rand($min * 2, $max * 2) * $step;
更一般,有点复杂的案例
echo $number = mt_rand(floor($min / $step), floor($max / $step)) * $step;