【发布时间】:2012-09-15 07:44:20
【问题描述】:
我想格式化一个浮点值,我必须保留两位小数。
例如,如果我有一个价格为5.2 的浮点数,我希望它被格式化为5.20。
【问题讨论】:
我想格式化一个浮点值,我必须保留两位小数。
例如,如果我有一个价格为5.2 的浮点数,我希望它被格式化为5.20。
【问题讨论】:
echo number_format("5.2",2)
【讨论】:
+number_format("5.2",2); 会给你一个数字,而number_format("5.2",2) 会给出一个字符串。无论如何,sprintf('%0.2f', $num) 在一般情况下一直是我的首选。从来没有正当的理由进行基准测试,如果您有正当理由使用其他方式(个人偏好(或上下文)除外),请告诉我。干杯!
number_format(n > 999, 2) 将导致 1。您不能转换或计算带有逗号的数字字符串,因此请务必将其删除:number_format('5.2', 2, '.', '');
您需要使用printf 或sprintf。您可以在php docs 中了解更多信息。
【讨论】:
如果您只是想确保以两位小数显示数字,您还可以使用number_format,或(如果这是货币值)money_format。
例如:echo number_format('5.2', 2);
【讨论】:
试试这个:
number_format((float)$foo, 2, '.', '');
【讨论】: