我正在考虑使用INT作为数据库表的Price列的数据类型。然后,当在网站上显示价格时,我只使用一个PHP函数来格式化整数并在适当的位置显示逗号和点。这是错的吗?如果我这样做,我会遇到问题吗?
答案 0 :(得分:0)
这就是我们网站处理定价的方式。从长远来看,计算最终价格会更容易,添加/减去int比浮点数或小数更容易(在我看来)。另一个方面是,在客户端而不是数据库中设置特定于区域设置的定价时,可以更轻松地更改区域设置。所以,如果你使用较大的美元值,我会使用int或bigint。
答案 1 :(得分:0)
是的 - 但它们很容易解决。您还需要通过应用于整数或分母来存储缩放因子。缩放因子实现取决于你(可能是固定标度的列表,可能是10的幂,可能是7.36(ugg)的幂)
所以例如你存储1作为价格而-2作为比例然后你可以做1 x 10 ^ -2又名1 * 0.01 = 0.01
我们一直使用扩展来通过线路传输实时市场数据,以提供压缩因子。发送1要便宜得多,知道规模是10 ^ 6,而不是100,000