我试图像这样围绕数字:
5,24785 => 5,49
5,74536 => 5,99
5,00000 => 5,00
我尝试了http://php.net/manual/fr/function.round.php
但这回归
5,24785 => 5,24
5,74536 => 5,74
5,00000 => 5,00
一个php函数可以做到,或者我需要向上舍入然后删除0.01?
你有一些线索吗?
答案 0 :(得分:1)
没有功能可以做到,你需要向上舍入然后删除0.01
答案 1 :(得分:1)
在php(我相信)中没有这样的东西,你可以做一个手动检查:
$number = "5.85458";
$decimal = $number - (int) $number;
if($decimal > 0 && $decimal < 0.5) $myNumber = (int) $number + 0.49; // x.49
if($decimal > 0.5) $myNumber = (int) $number + 0.99; // x.99
if($decimal == 0) $myNumber = (int) $number; // x.00
echo $myNumber;
或者只删除0.01
答案 2 :(得分:1)
您需要使用自定义舍入功能。因为舍入到0.49不是标准方式。
function rounder($num){
$fln= $num-floor($num);
if ($fln>0 and $fln<0.5) $fln=0.49;
else $fln=0.99;
return floor($num)+$fln;
}
echo rounder(5.24882);
答案 3 :(得分:0)
$num = 5.56;
$num = round($num - (int) $num) ? round($num) - 0.01 : round($num) + .49;
// 5.99 output
$num = 5.38;
$num = round($num - (int) $num) ? round($num) - 0.01 : round($num) + .49;
// 5.49 output