也许问题很简单,但我找不到答案。 我需要做的是在逗号后将数字舍入到2个位置。 我用这个:
round(($data/$count*100), 2)
当我得到的数字如下:
60.36036036036012 and : 37.83783783783808 is OK, because it's: 60.36 and 37.84
但为什么会这样:
1.8018018018018036
四舍五入到此:
1.8000000000000003
如何在逗号后将总是四舍五入到第二位?
答案 0 :(得分:1)
你应该得到1.8
,除非你使用旧的PHP版本和某些相关的错误。但是,如果你想看1.80
,你需要格式化输出字符串,否则默认会删除尾随零。最灵活的方法是使用sprintf()
格式,如下所示:
$val = 1.8000000000000003;
printf("%.02f", round( $val, 2 ));
会产生
1.80
键是“%。02f”,这意味着您要格式化(f)浮动点值,点后两位数,需要时填充0
(如本例所示)。
See the sprintf() docs了解有关可用格式设置的更多信息。
答案 1 :(得分:0)
使用PHP NumberFormatter类http://es.php.net/manual/es/class.numberformatter.php