当前位置:Gxlcms > PHP教程 > 数字四舍五入的有关问题

数字四舍五入的有关问题

时间:2021-07-01 10:21:17 帮助过:10人阅读

数字四舍五入的问题
比如$a=1.2;
echo $a; //这里我要让它显示为1.5

$a=1.6;
echo $a; //这里我要让它显示为2

也就是说,当$a的小数点后面的值小于5时(不包括0),就按5来显示,小数点后面的值大于5时就按正常的四舍五入
------解决思路----------------------

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

人气教程排行