20170504@BigDecimal类

来源:互联网 发布:淘宝店交易平台 编辑:程序博客网 时间:2024/06/16 06:18

执行如下代码:

System.out.println(0.09 + 0.01);System.out.println(1.0 - 0.32);System.out.println(1.015 * 100);System.out.println(1.301 / 100);

结果如下:

0.099999999999999990.6799999999999999101.499999999999990.013009999999999999

产生这种结果的原因:
计算机二进制中,表示浮点数不精确造成的。
Java针对这种情况,对于超级大型的浮点数据,提供高精度的浮点运算,BigDecimal类。

推荐使用的构造方法:

BigDecimal(String val) 

将 BigDecimal 的字符串表示形式转换为 BigDecimal。

其他四则运算的方法和BigInteger相同。

注意除法运算:
对于无限不循环小数,计算会报错。所以对于除法运算,Java给出了多种重载方法。这里先不说啦

0 0
原创粉丝点击