45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:如何处理Java中浮点数问题?

如何处理Java中浮点数问题?

2016-08-25 15:56:29 来源:www.45fan.com 【

如何处理Java中浮点数问题?

1、介绍
2、格式化浮点数
3java.math.BigDecimal

 


 

1、介绍

在Java中float和double类型的数据,无法精确表示计算结果。这是由于float和double是不精确的计算。
例:
System.out.println(0.05+0.01);
System.out.println(1.0-0.42);
System.out.println(4.015*100);
System.out.println(123.3/100);
System.out.println(0.05);
得到如下结果:
0.060000000000000005
0.5800000000000001
401.49999999999994
1.2329999999999999

如何实现浮点数字的精确计算,下面从2个方面讨论,一是从四舍五入,二是从使用BigDecimal工具类来实现精确计算。

 

2、格式化浮点数

1)Math.round()

Math类中的round方法实现的四舍五入无法精确到小数,如果经过×100的计算后再四舍五入还是没有办法保证得到精确的结果。

2)java.text.DecimalFormat

本文地址:http://www.45fan.com/a/question/67469.html
Tags: Java 点数 中浮
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部