PHP round(12,2)显示12而不是12.00

时间:2018-01-23 11:51:56

标签: php

我目前正在运行最新版本的PHP,操作系统是ubuntu。我在PHP中使用了round(),但得到的结果与正常结果不同,因为在舍入12或任何其他整数值的整数时,应该在十进制之后的末尾添加零的数量,例如round(34,3)结果应为34.000,但显示为34.如何用整数浮点数得到结果?

3 个答案:

答案 0 :(得分:4)

round返回一个数值。 12.00是一个字符串值(数字版本会删除前导/尾随零)。

改为使用number_format(12,2)

答案 1 :(得分:2)

Round期望获得一个不是int的浮点数。如果提供了一个int,它将被返回。

如果您需要舍入然后显示带有2位小数的数字,则通过round,然后通过number_format

答案 2 :(得分:0)

round将对数字进行四舍五入,但它不会将其转换为字符串,因此打印时输出的精度仍然会从数字本身中消失。

您可以使用sprintf将其格式化为任意精度的字符串。

$number = 12;
$number_as_string = sprintf("%0.2f", $number);
print $number_as_string;