我想显示£2.00 而不是£2 或£3.50 而不是£3.5
这些数字假设price
在MySQL数据库中被定义为DOUBLE
。如何强制MySQL或PHP显示两位小数?
非常感谢!
答案 0 :(得分:9)
对于MySQL,您可以使用format
功能:
SELECT FORMAT(1.2345, 2);
它将返回1.23
对于PHP,您可以以类似的方式使用number_format
:
echo number_format(1.2345, 2);
同时打印1.23
答案 1 :(得分:7)
试试这个:
echo number_format ($price, 2);
答案 2 :(得分:5)
number_format
和money_format
是你的朋友!
答案 3 :(得分:5)
其他答案是正确的,因为他们将格式化一个小数点后两位。
但是,考虑到您的问题中的上下文,更好的答案是不要使用DOUBLE
数据类型 - 至少不是为此目的。
DOUBLE
一样的 Floating-point data types 近似并且不代表确切的数字;它们可用于表示质量或长度等连续量。对于像货币一样的离散数量,它们可能是灾难性的,导致非常意外的结果。对于这样的数量,你真的应该使用MySQL的fixed-point types,例如DECIMAL
,这使你可以指定 scale (即小数位数到因此,不需要任何此类格式或舍入来产生正确的货币值。