数据库设计 商品价格用 什么存储较好?

看了几个系统(ecshop)用了deciaml存储,但是最小单位是分,可以用int存

阅读 9.4k
11 个回答

看你的需求呀, 商品价格最多也只精确到分吧,用deciaml肯定可以做到。如果你想效率高一点用int存也可以,最后再换算一下就行。

decimal(10,2)肯定可以的

最好是用decimal(m,n)类型啊,为高精度而生。

int 单位为分

可以考虑支付宝和微信支付的单位是分,如果是decimal,除的时候有会问题。

我就遇到过同样的问题了,当时没多想,直接用了decimal,数据库中存的是89.98的,结果返回的时候,变成了89.98000002,数据库是mysql,当时杀人的心都有了,后来重新改成int保存

decimal(10,2),
10位有效数字,保留2位小数

同4L,int,单位分,这肯定是最好的了,方便计算,只需要简单的分转元就可以显示

选int或者decimal都可以。
主要是在计算方面,如果不换算成分来计算的话,最好用bc函数来计算,否则很可能会出问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题