欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

BigDecimal运算的必要性

程序员文章站 2024-03-01 09:58:16
...

基本数据类型运算问题

​ 基本数据类型运算时,采用科学计算等方式运算,获取到的数值并不是准备的,此时是需要通过BigDecimal来对这些进行运算,得到相应需要的值。

​ 比如下面浮点数相加时,0.05 + 0.01,我们需要的结果是 0.06,而实际double基本数据类型运算出来的结果是0.060000000000000005,不符合我们的需要,就需要通过BigDecimal来运算了。

public class BigDecimalTest {

    public static void main(String args[]){
        System.out.println(0.05 + 0.01);

        bigDecimal(0.05, 0.01);
    }

    public static void bigDecimal(double i1, double i2){
        BigDecimal b1 = BigDecimal.valueOf(i1);
        BigDecimal b2 = BigDecimal.valueOf(i2);
        BigDecimal val = b1.add(b2);
        System.out.println(val.doubleValue());
    }
}

-- 输出结果
0.060000000000000005
0.6799999999999999
17.73049645390071
5.928
0.06