看了几个系统(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函数来计算,否则很可能会出问题。
商城里常常会有,今日特价商品,里面包含各种品类,这是人工操作还是有一套设计好的方法自动从数据库得到的呢?
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
3 回答4.7k 阅读
1 回答2.2k 阅读
1 回答2.5k 阅读✓ 已解决
4 回答5.2k 阅读
1 回答1.6k 阅读
看你的需求呀, 商品价格最多也只精确到分吧,用deciaml肯定可以做到。如果你想效率高一点用int存也可以,最后再换算一下就行。