Har*_*son 4 mysql integer decimal
我目前正在使用decimal存储价格数据(将4.2美元存储为4.20),但似乎难以比较相等,即需要计算2个数字之间的差异(abs(number1 - number 2) < 0.01)而不是使用number1 == number2
所以我想知道将价格存储为整数是否会更好,比如将商店4.2美元定为420.
谢谢.
e4c*_*4c5 11
您可以使用所谓的次要货币.这基本上是将4.20美元存储为420.这种做法通常在与支付处理网关或API进行通信时进行调整.
好处是数据库和存储中的所有算术运算都使用整数而不是小数.这意味着它们占用的空间更少,操作更快.
正如@thilo所指出的那样,你也避免了有时可能会出现的浮点错误.
在显示时,只需除以100