我应该将字段PRICE存储为数据库中的int或float吗?

Mar*_*yor 11 mysql database

在之前的项目中,我注意到price字段存储为int,而不是float.这是通过将实际值乘以100来完成的,原因是避免遇到浮点问题.

这是一个很好的做法我应该遵循还是不必要,只会使数据不透明?

Pau*_*lor 14

有趣的问题.

我实际上不会在mysql环境中选择float.过去使用该数据类型时精度太高的问题.

对我而言,选择将在int和之间decimal(18,4).

我已经看到用于表示浮点值的真实世界示例整数.JD Edwards数据表的内部都是这样做的.数量通常除以10000.虽然我确定它在表内更快更小,但这只意味着如果我们想对它们做任何事情,特别是除法,我们总是必须将整数加入十进制值.

从编程的角度来看,我总是更愿意以decimal价格(或money支持它的RDBMS)工作.