我目前正在使用 decimal
存储价格数据(将 4.2 美元存储为 4.20),但比较相等性似乎有些困难,即需要计算两个数字之间的差异(abs(number1 - number 2) < 0.01
)而不是使用 number1 == number2
所以我想知道将价格存储为整数是否更好,比如将 4.2 美元存储为 420。
谢谢。
最佳答案
您可以使用所谓的次要货币。这基本上是将 4.20 美元存储为 420。这是一种在与支付处理网关或 API 通信时通常采用的做法。
好处是数据库和存储中的所有算术运算都使用整数而不是小数进行。这意味着它们占用的空间更少,操作速度更快。
正如@thilo 所指出的,您还可以避免有时会出现的浮点错误。
显示的时候,简单的除以100
关于mysql - 我应该在 Mysql 中将价格存储为小数还是整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41060515/