关于float的精度丢失总结
来源:互联网 发布:万方数据库账号 编辑:程序博客网 时间:2024/06/06 00:37
最近在项目中遇到这么一个问题: 在提交支付的金额进行前后台的校验遇到两个金额不同的情况,我查询日志后发现是float精度丢失引起的;以下的代码运行后输出的是多少呢?
float a = 0; a = a + Float.parseFloat("152348.37"); System.out.println(a);
结果是:152348.38
[ http://blog.csdn.net/zq602316498/article/details/41148063#]
有兴趣的可以去查看这篇博客,写的很详细。
关于金额精确计算应避免使用float和double进行计算。我自己项目中有关的金额都是从接口直接查询出来的且已取小数点后两位,提交的也是取后台的数据。只是进行简单的金额校验,故使用float方法进行简单的校验。之前其他模块都有进行金额限制在10万以下,金额取的百分位,故不存在精度丢失问题;使用float节省使用内存,现在的模块金额超出float的有效精度,改成使用double类型。
阅读全文
0 0
- 关于float的精度丢失总结
- 关于float,double的精度丢失(一)
- 关于double,float的精度丢失(二)
- 关于float,double的精度丢失
- 关于float,double的精度丢失
- float丢失精度的问题
- 关于float相减精度丢失的问题
- 关于float型的内存存储和精度丢失问题
- 关于float相减精度丢失的问题
- 两个float相减时丢失精度的解决方法
- c++ float精度丢失
- float、double精度丢失
- float出现精度丢失
- 关于float和double丢失精度问题及解决方案
- 剖析float型的内存存储和精度丢失问题
- 剖析float型的内存存储和精度丢失问题
- 剖析float型的内存存储和精度丢失问题
- 剖析float型的内存存储和精度丢失问题
- Appium python 自动化
- Spring多数据源配置系列(二)——AbstractRoutingDataSource详解
- Shell编程中位置参量使用和命令执行状态码讲解
- C语言程序可以没有main函数
- 虚拟机与主机间的文件传输
- 关于float的精度丢失总结
- Android流量统计TrafficStats类的使用
- anaconda下使用pip安装opencv
- Centos 7开启网卡自动获取IP的详细方法
- git关联Jenkins使用总结(在海尔U+的git)
- 统一登录的基本原理
- Eigen的学习
- reverse linklist 反转链表的一部分 python
- Android中如何关闭Log