储存价格的字段,单位用元还是分好

2015 年 6 月 17 日
 vinsony

用分为单位可以用int型,比较好计算,但是一般用户输入个显示的单位都是元,需要转换比较繁琐。
大家一般用什么作单位的?

11127 次点击
所在节点    程序员
27 条回复
Septembers
2015 年 6 月 17 日
您在做死
neoblackcap
2015 年 6 月 17 日
用精确的数据类型存储,你的数据类型若是能精确保存分数比如1/3之类的,你用什么单位都一样。

若是不能就乖乖地用分对应整型或者长整型来保存,反正微信那边的人是这样做。
vinsony
2015 年 6 月 17 日
我现在用的很黄很暴力的varchar....单位是元..
Mutoo
2015 年 6 月 17 日
decimal <- 正解 如果不做汇率转换,直接用元就行了。
love
2015 年 6 月 17 日
javascript中的计算呢?用int? 毕竟0.1 + 0.1 + 0.1 !== 0.3有时也要命的
bigdude
2015 年 6 月 17 日
decimal啊
jedrek
2015 年 6 月 17 日
《高性能MySQL》中建议用整数类型保存,必要的时候移动小数点即可
quix
2015 年 6 月 17 日
支持ls , 用 decimal, 本质是用字符串保存的数字
mahone3297
2015 年 6 月 17 日
建议整形。。。
davidyin
2015 年 6 月 17 日
整数,到分
learnshare
2015 年 6 月 17 日
用分的整数比较好
garfeildma
2015 年 6 月 17 日
整数,分,用decimal才是作死
xmbaozi
2015 年 6 月 17 日
用分的话 万一哪个地方忘了转换成元岂不是悲剧
b821025551b
2015 年 6 月 17 日
精确到毫,用long存储;流水大业务复杂的话用分存误差太大。
b821025551b
2015 年 6 月 17 日
@xmbaozi 养成习惯就好了,前公司所有的金额字段都是精确到毫,各种计算按豪,只有最后展示或调用支付宝api才格式化成元。
keary
2015 年 6 月 17 日
看你的业务需要了,如果需要考虑以后支持不同币种的话,务必使用decimal;如果只支持人民币单一币种就直接int或者long就可以了。
vinsony
2015 年 6 月 17 日
@b821025551b 经常有网站超低价卖东西,可能就是忘了多按两个零.... o(∩_∩)o
loveuqian
2015 年 6 月 17 日
用String最好。。。。。23333
lilydjwg
2015 年 6 月 17 日
@quix decimal,至少是正确实现的 decimal,是使用十进制数的。而且其运算 CPU 也有直接支持。

@neoblackcap 金融很少有需要使用分数的情况吧。大部分情况都是精确到分,比如某商品三件一块钱,那么买一件就是 0.33RMB,两件就是 0.67RMB。

@xmbaozi 除了调试的时候,你应该只有一个地方来做这种转换。

通常表示价格的需求,定点数最好。
arslion
2015 年 6 月 17 日
分(认真脸)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/199222

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX