如果我的数字是 4.9,那么我希望它四舍五入到 4.5
如果 4.6 那么我想要 4.5
如果 4.3 那么我想要 4
如果为 3.5,则保持不变,为 3.5
如果 2 则保持在 2 处不变
我发现最接近的东西是round( $num, 1, PHP_ROUND_HALF_UP);
,这不是我想要的。谢谢
您可以使用
floor()
$num = floor($num * 2) / 2
如果要向上或向下舍入,则可以使用round()
$num = round($num * 2) / 2
那些
奇怪的舍入规则没有内置函数,你必须自己编写。
function myweirdround($f){
$i=(int)$f;
$remainder=$f-$i;
if($remainder===0.9){
return $i+0.5;
}
if($remainder===0.6){return $i+0.5;}
if($remainder===0.3){return $i;}
if($remainder===0.5){return $f;}
return $f;
}