如果在浮点数中处理货币是不好的,那么Money_Format()为什么要这样做呢?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (71)

我一直在讨论如何处理PHP中的货币显示和数学问题,很长时间以来,我一直使用DECIMAL类型,并使用money_format()若要将其格式化为显示在网页上,请执行以下操作。

string money_format ( string $format , float $number )

提问于
用户回答回答于

对于纯四舍五入/显示的目的,只要绝对浮点表示错误小于0.005美元(因此舍入到最近的分分值是正确的),您就安全了。

使用ieee 754单精度,您可以安全地达到131,072.00美元($131,072.01表示为131072.015625,这是不正确的舍入)。

双精度(哪个PHP的float直到$70,368,744,177,664.01(0.015625)才会失效。

扫码关注云+社区