我有一个浮动:9.174599999999995
当我运行number_format(9.174599999999995,2)时,我得到9.17。我相信我应该获得9.18作为4轮到5轮然后7轮到8轮。这不对吗?如何达到9.18的预期效果?
答案 0 :(得分:0)
这是因为number_format
没有结束:
http://php.net/manual/en/function.number-format.php
看看round
功能:
http://php.net/manual/fr/function.round.php
答案 1 :(得分:0)
嗯,你认为错了,正确的答案是9.17,因为舍入是在舍入点之后仅基于一位数进行的。 基本上当你用小数点后的9.174599999999995进行舍入时,你将它基于4舍入,小于5,所以数字四舍五入为9.17
答案 2 :(得分:0)
由于你可以使用php圆形。 例子:
$n=3.18925
$round=round($round, 1);
将显示3.2
$round=round($round, 2);
将显示3.19
答案 3 :(得分:0)
您的号码,
$number = 9.17499999999995 ;
echo $english_format_number = number_format($number, 2, '.', '');
9.17
$number = 9.17599999999995 ;
echo $english_format_number = number_format($number, 2, '.', '');
9.18
并且通过使用number_format 2次可以实现期望结果
$number = 9.17499999999995 ;
echo $number = number_format($number, 3, '.', '');
echo "<br>";
echo $english_format_number = number_format($number, 2, '.', '');
RESULTS
9.175
9.18