在PHP中使用钱(十进制数)是否安全?

Svi*_*ish 10 php currency decimal

我的itemsMySQL数据库中有一个表,其中包含一个DECIMAL(10,2)名为的字段price.

在获取这些值时,使用PHP中的这些数字进行计算是否安全?或者我最终会遇到潜在的舍入错误以及使用浮点数据类型时常见的问题?

PHP如何在封面后处理这些事情?使用PHP进行货币计算是否安全?

ale*_*lex 10

大多数人用PHP中最小面额衡量货币 - 例如,10美元AU将显示为1000美分.

/ 100获得美元是微不足道的,你不会得到4.9999999由浮点运算引起的例如值.

或者,您可以使用浮点和舍入到最接近的最小分值(例如,可以是5的倍数).

看来已经知道了,但对于其他人来说,这仍然需要阅读 :)


Pet*_*tai 9

您可以使用执行任意精度数学的PHP库,例如BC MathGMP.

虽然有时使用美分或最小的货币单位,但如果遇到必须处理分数的情况怎么办?例如,如果您正在处理卖出和买入股票,您必须具有更高的精确度而不仅仅是美分.在这种情况下,您必须使用任意精度数学.