BigDecimal类
BigDecimal:精确的小数
//作用:实现浮点数据的高精度运算
package com.fei.test;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Test3 {
public static void main(String[] args) {
double a =1.0;
double b= 0.9;
System.out.println(a-b);//0.09999999999999998 不精确
BigDecimal b1 = new BigDecimal("1.0");//参数是字符串
BigDecimal b2 = new BigDecimal("0.9");
//1.加法:add()
BigDecimal b3 = b1.add(b2);//返回值类型仍然为BigDecimal
double c1 = b3.doubleValue();//转换成double类型
System.out.println(c1);
//2.减法:subtract()
BigDecimal b4 = b1.subtract(b2);
double c2 = b4.doubleValue();
System.out.println(c2);
//3.乘法:multiply()
BigDecimal b5 = b1.multiply(b2);
double c3 = b5.doubleValue();
System.out.println(c3);
//4.除法:divide()
//返回一个 BigDecimal,如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ArithmeticException。
BigDecimal b6 = b1.divide(b2,2,RoundingMode.HALF_UP);//精确到几位 舍入模式
double c4 = b6.doubleValue();
System.out.println(c4);
}
}