如何在MYSQL/PHP中显示两位小数?

nuv*_*vio 3 php mysql double

我希望显示£2.00而不是£2£3.50而不是£3.5.

这些数字可以说priceDOUBLE在MySQL数据库中定义的.如何强制MySQL或PHP显示两位小数?

非常感谢!

Fèl*_*lué 9

对于MySQL,您可以使用以下format功能:

SELECT FORMAT(1.2345, 2);
Run Code Online (Sandbox Code Playgroud)

它将返回1.23

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

echo number_format(1.2345, 2);
Run Code Online (Sandbox Code Playgroud)

还打印1.23


Jer*_*oen 7

试试这个:

echo number_format ($price, 2);
Run Code Online (Sandbox Code Playgroud)

  • 如果在循环中使用此功能,将严重影响性能。 (2认同)

bfa*_*tto 5

number_format并且money_format是你的朋友!


egg*_*yal 5

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

但是,根据您的问题中的上下文,更好的答案是不要使用DOUBLE数据类型 - 至少不是为此目的.

浮点数据类型一样DOUBLE近似的,并不代表确切的数字; 它们可用于表示质量或长度等连续量.对于像货币一样的离散数量,它们可能是灾难性的,导致非常意外的结果.对于这样的量,你真的应该使用MySQL的定点类型一样DECIMAL,它允许您指定的规模(即小数点后的数字存储),因此将不需要任何这样的格式或四舍五入产生正确的货币价值.