java中double、float类型计算精度丢失问题
2015-12-18 20:00
1061 查看
java中计算double、float类型数值,往往会出现计算精度丢失,也就是想下面这种情况:
这时,我我们使用BigDecimal类进行计算即可
这里注意一下,如果实例化a和b时,后面的参数单纯写一个double类型的数值还是不够的,减法计算还可能失去精度,最好的办法就是想图中一样转化成string的,这样就算就不会又问题了。
如果还想保留两位小数,可使用如下方式格式化一下
先定义一个
这时,我我们使用BigDecimal类进行计算即可
这里注意一下,如果实例化a和b时,后面的参数单纯写一个double类型的数值还是不够的,减法计算还可能失去精度,最好的办法就是想图中一样转化成string的,这样就算就不会又问题了。
如果还想保留两位小数,可使用如下方式格式化一下
先定义一个
DecimalFormat df = new DecimalFormat("#.00"); df.format(d1);
相关文章推荐
- Eclipse全屏及插件下载
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- Java中static关键字总结
- JAVA语法基础之数组
- java中instanceof用法
- java中Ping++退款
- eclipse luna版本安装svn
- spring的PathMatchingResourcePatternResolver-通配符的Resource查找器
- Struts OGNL and ValueStack
- 【算法拾遗(java描述)】--- 选择排序(直接选择排序、堆排序)
- 利用java UDP协议,实现简单的双人聊天
- n皇后问题回溯法---java图形界面实现回溯过程
- java中阻塞非阻塞概念
- Java基础--多线程02
- Java基础--多线程01
- Visual Studio(C#)快捷键与Eclipse(JAVA)快捷键对比
- 07Java语法回顾collection之linklist
- Java常用正则表达式
- snowflake的JAVA版本
- Spring测试