看了几个系统(ecshop)用了deciaml存储,但是最小单位是分,可以用int存
看你的需求呀, 商品价格最多也只精确到分吧,用deciaml肯定可以做到。如果你想效率高一点用int存也可以,最后再换算一下就行。
decimal(10,2)肯定可以的
最好是用decimal(m,n)类型啊,为高精度而生。
int 单位为分
decimal
可以考虑支付宝和微信支付的单位是分,如果是decimal,除的时候有会问题。
我就遇到过同样的问题了,当时没多想,直接用了decimal,数据库中存的是89.98的,结果返回的时候,变成了89.98000002,数据库是mysql,当时杀人的心都有了,后来重新改成int保存
decimal(10,2),10位有效数字,保留2位小数
同4L,int,单位分,这肯定是最好的了,方便计算,只需要简单的分转元就可以显示
选int或者decimal都可以。主要是在计算方面,如果不换算成分来计算的话,最好用bc函数来计算,否则很可能会出问题。
商城里常常会有,今日特价商品,里面包含各种品类,这是人工操作还是有一套设计好的方法自动从数据库得到的呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(11)
看你的需求呀, 商品价格最多也只精确到分吧,用deciaml肯定可以做到。如果你想效率高一点用int存也可以,最后再换算一下就行。
decimal(10,2)肯定可以的
最好是用decimal(m,n)类型啊,为高精度而生。
int 单位为分
decimal
可以考虑支付宝和微信支付的单位是分,如果是decimal,除的时候有会问题。
我就遇到过同样的问题了,当时没多想,直接用了decimal,数据库中存的是89.98的,结果返回的时候,变成了89.98000002,数据库是mysql,当时杀人的心都有了,后来重新改成int保存
decimal(10,2),
10位有效数字,保留2位小数
同4L,int,单位分,这肯定是最好的了,方便计算,只需要简单的分转元就可以显示
选int或者decimal都可以。
主要是在计算方面,如果不换算成分来计算的话,最好用bc函数来计算,否则很可能会出问题。
商城里常常会有,今日特价商品,里面包含各种品类,这是人工操作还是有一套设计好的方法自动从数据库得到的呢?