我想在步骤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;
答案 0 :(得分:4)
这应该适合你:
$min = 0;
$max = 5;
echo $number = mt_rand($min * 2, $max * 2) / 2;
答案 1 :(得分:1)
另一种可能的方式:
function decimalRand($iMin, $iMax, $fSteps = 0.5)
{
$a = range($iMin, $iMax, $fSteps);
return $a[mt_rand(0, count($a)-1)];
}
答案 2 :(得分:0)
更直观,更少不必要的动作
$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;
mt_rand
offical docs,以防万一。