始终在PHP中显示指定的小数位数(向上舍入)

时间:2012-10-20 14:45:51

标签: php rounding

我需要显示一个带有指定小数位数(向上舍入)的浮点数,特别是最多两位小数,即使该数字没有小数部分。我知道的一种方法是使用sprintf() PHP函数,如下所示。

echo sprintf("%0.2f", 123);

返回123.00

echo sprintf("%0.2f", 123.4555);

返回123.46,但以下内容不会返回我需要的内容。

echo sprintf("%0.2f", 123.455);  // 5 is removed - the right-most digit.

我希望它返回123.46,但事实并非如此。它返回123.45。虽然这不是一个巨大的差异,但我不得不在两种情况下都返回123.46


round()功能可以做到这一点。 echo round(123.455, 2);echo round(123.4555, 2);在两种情况下都返回123.46,但我想不到使用此函数,因为如果小数部分不存在,则根本不显示十进制数字。像echo round(123, 2);一样123,我需要123.00

PHP中是否有一个函数来实现这一目标?

1 个答案:

答案 0 :(得分:7)

number_format(123.455, 2, '.', '')