BigDecimal实现java精确运算
- 存在问题
double num = 0.1 + 0.2;
System.out.println("num = " + num); // num = 0.30000000000000004
- 问题解决
// 解决double运算的误差
BigDecimal na = new BigDecimal("0.1"); // 注 切记使用双引号包裹数值
BigDecimal nb = new BigDecimal("0.2");
// 实现加法
BigDecimal add = na.add(nb);
System.out.println("add = " + add);
// 实现减法
BigDecimal subtract = nb.subtract(na);
System.out.println("subtract = " + subtract);
// 实现乘法
BigDecimal multiply = na.multiply(nb);
System.out.println("multiply = " + multiply);
// 实现除法
BigDecimal divide = na.divide(nb);
System.out.println("divide = " + divide);
BigDecimal可用于浮点数的精确运算,金钱运算...