如何将 php 数字四舍五入一半


How do i round php number by half?

如果我的数字是 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;
}