MySQL 数据库中货币单位如何存储

阿里巴巴 Java 编程规范,【强制】任何货币金额,均以最小货币单位且为整型类型进行存储。


为什么要这样做呢,因为常常出现数据库里的数据获取后,直接返回给前端的。

因为在数据传输过程中使用的是2进制,数据在进制转换时会丢失精度。

浮点数使用JSON等格式传输数据时,会被转为二进制,二进制下很多浮点数是无限小数,而传输数据时候又不可能把无限制的传输这个数,只能把它截断,当浮点数被截断后,再转回十进制,就不是一个精确值了,所以就会出现接口返回{"a":0.3},但是调用接口实际获得{"a":0.30000000000000004}的问题。


参考:https://javascript.net.cn/articles/984

声明:本站所有文章,如无特殊说明或,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。本站所有图片如无特殊说明均为AI生成。
真诚赞赏,手留余香
赞赏
JavaScript
用 JavaScript 实现数字增加滚动动画
2023-01-03
开发工具
Git 放弃本地修改,强制和之前的某次提交同步
2023-02-03
Jone
在什么样的花园里面,挖呀挖呀挖
种什么样的种子,开什么样的花
随机推荐
Node.js MySQL 连接池和事务
Node.js 控制台进度条实现原理
TypeScript 和 Koa 实践
MySQL的外键总结
Linux 中 top 命令的 Load Average 含义
macOS 生成 icns 图标
如何调整 iconfont 图标的位置和基线
用 JavaScript 实现数字增加滚动动画
支持 Selector API 的 HTML 解析器 node-html-parser
如何使用命令修改 MySQL 数据库名称

微信联系我

夜间模式切换
回到顶部