3

我想显示£2.00而不是£2£3.50而不是£3.5

假设这些数字是在 MySQL 数据库price中定义的。DOUBLE如何强制 MySQL 或 PHP 显示两位小数?

非常感谢!

4

4 回答 4

9

对于 MySQL,您可以使用以下format函数:

SELECT FORMAT(1.2345, 2);

它将返回 1.23

对于 PHP,您可以number_format以类似的方式使用:

echo number_format(1.2345, 2);

还打印 1.23

于 2012-05-11T21:58:42.750 回答
7

尝试这个:

echo number_format ($price, 2);
于 2012-05-11T21:50:51.117 回答
5

number_format并且money_format是你的朋友!

于 2012-05-11T21:50:01.947 回答
5

其他答案是正确的,因为它们会将值格式化为两位小数。

但是,鉴于您问题中的上下文,更好的答案是不要使用DOUBLE数据类型- 至少,不是为了这个目的。

浮点数据类型DOUBLE近似的,不代表精确的数字;它们对于表示质量或长度等连续量很有用。对于像货币这样的离散数量,它们可能是灾难性的,导致非常意想不到的结果。对于这样的数量,您确实应该使用 MySQL 的定点类型,例如DECIMAL,它使您能够指定比例(即要存储的小数位数),因此不需要任何此类格式或舍入来生成正确的货币值。

于 2012-05-11T23:22:12.143 回答