我需要显示一个带有指定小数位数(向上舍入)的浮点数,特别是最多两位小数,即使该数字没有小数部分。我知道的一种方法是使用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中是否有一个函数来实现这一目标?
答案 0 :(得分:7)
number_format(123.455, 2, '.', '')