BigDecimal
含义:不会丢失精度的浮点数
double和f'loat在都有可能会因为超出范围而丢失精度,所以我们一般用BigDecimal来计算浮点数
定义和加减乘除
BigDecimal a = new BigDecimal("0.123456789123");
BigDecimal b = new BigDecimal("0.0002");//如果不是字符串类型,精度会丢失
//加
System.out.println(a.add(b));
//减
System.out.println(a.subtract(b));
//乘
System.out.println(a.multiply(b));
//除
System.out.println(a.divide(b));
//四舍五入
System.out.println(a.setScale(6, BigDecimal.ROUND_HALF_UP));