BigDecimal的运算——加减乘除
首先是bigdecimal的初始化
这里对比了两种形式,第一种直接value写数字的值,第二种用string来表示
BigDecimal num1 = new BigDecimal(0.005);
BigDecimal num2= new BigDecimal(1000000);
BigDecimal num3= new BigDecimal(-1000000);//尽量用字符串的形式初始化
BigDecimal num12 = new BigDecimal("0.005");
BigDecimal num22= new BigDecimal("1000000");
BigDecimal num32= new BigDecimal("-1000000");
我们对其进行加减乘除绝对值的运算
其实就是Bigdecimal的类的一些调用
加法 add()函数 减法subtract()函数
乘法multiply()函数 除法divide()函数 绝对值abs()函数
我这里承接上面初始化Bigdecimal分别用string和数进行运算对比
//加法
BigDecimal result1 =num1.add(num2);
BigDecimal result12=num12.add(num22);//减法
BigDecimal result2 =num1.subtract(num2);
BigDecimal result22=num12.subtract(num22);//乘法
BigDecimal result3 =num1.multiply(num2);
BigDecimal result32=num12.multiply(num22);//绝对值
BigDecimal result4 =num3.abs();
BigDecimal result42=num32.abs();//除法
BigDecimal result5 = num2.divide(num1,20,BigDecimal.ROUND_HALF_UP);
BigDecimal result52= num22.divide(num12,20,BigDecimal.ROUND_HALF_UP);
我把result全部输出可以看到结果
这里出现了差异,这也是为什么初始化建议使用string的原因
※ 注意:
1)System.out.