金额的存储用 long 可以吗

2019 年 5 月 30 日
 wisetc
想将金额的数值乘以 1000 然后再存库,方便数据的存储。让前端提交给后端的数据都先乘以 1000,然后后端返回给前端的金额数据是放大了 1000 倍的,显示的时候再让前端处理,除以 1000,后台不用对金额做任何处理,哈哈哈。我真是越来越佩服我自己。
各位后端大佬,怎么看。
9643 次点击
所在节点    数据库
81 条回复
adzchao
2019 年 5 月 30 日
完全可以 看精确到多少位 后端就是这么搞的
surfire91
2019 年 5 月 30 日
精度够的话当然可以。
ezksdo
2019 年 5 月 30 日
用整数,存的时候乘 100
mawenjie
2019 年 5 月 30 日
这不是常识吗,你敢用浮点数搞?
tabris17
2019 年 5 月 30 日
既然有 decimal 为什么不用?
wisetc
2019 年 5 月 30 日
各位大佬,其实我是前端,乘以 1000,然后再除以 1000,好烦哦,再前端搞来搞去太容易出错了,我就是吐个槽,看看有没有更高级的做法,比如在数据库前面加个网,好比过了就是天上一天地下一年
neuthself
2019 年 5 月 30 日
《高性能 MySQL 》也有讲到类似的方式,可以有但感觉没必要,直接用 decimal 吧
jifengg
2019 年 5 月 30 日
金额,我一般都是统一单位为“分”,因为金额一般要涉及到加减的操作,用整数能保证精度。
RubyJack
2019 年 5 月 30 日
decimal
TheCure
2019 年 5 月 30 日
这不是大学就学的么..
keepeye
2019 年 5 月 30 日
有些情况下要对金额做除法,就会出现小数了,如果不精确的话可能会导致金额出现偏差 1 分
zgl263885
2019 年 5 月 30 日
我时间戳都用的 long,前端拿到后自己再处理下。可读性和性能能好的一匹。
wolfie
2019 年 5 月 30 日
别像摩拜用 int 就行
txwd
2019 年 5 月 30 日
见过用 4 位小数的,天坑
hailiang88
2019 年 5 月 30 日
前端操作金额会有精度问题,需要单独处理
nszm
2019 年 5 月 30 日
乘除这种给后端操作,前端这个搞不是搞事情吗
gogogogogo
2019 年 5 月 30 日
iOS 端会有精读问题
rockyou12
2019 年 5 月 30 日
后端这样存其实算是常规操作。前端好像有个 decimal.js (好像叫这个)的库可以做精确的数字运算,我觉得 lz 可能需要的是这个
swulling
2019 年 5 月 30 日
钱一定要用整数存…存成分就行了
9151
2019 年 5 月 30 日
楼主在搞什么山寨币?

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

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

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

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

© 2021 V2EX