时间:2021-07-01 10:21:17 帮助过:10人阅读
function test($val){
$x=explode('.',sprintf("%.1f", $val));
$a=$x[0];
$d=$x[1];
if($d>0 && $d<5){
$r=$a+0.5;
}else{
$r=round($val);
}
return $r;
}
echo test(1);//1
echo test(1.11);//1.5
echo test(1.5);//2
echo test(1.6);//2
for($i=1; $i<2; $i+=0.1)
printf("%.1f : %s\n", $i, ceil($i * 2) / 2);
1.0 : 1
1.1 : 1.5
1.2 : 1.5
1.3 : 1.5
1.4 : 1.5
1.5 : 2
1.6 : 2
1.7 : 2
1.8 : 2
1.9 : 2