BigDecimal注意问题
BigDecimal使用构造数字的时候要使用传入String类型参数的构造方法,注意看下面两个示例的结果就知道了
public class Test {
public static void main(String[] args) {
System.out.println(0.05+0.01);
BigDecimal b = new BigDecimal(1.01);
BigDecimal d = new BigDecimal(1.02);
System.out.println(b.add(d).doubleValue());
BigDecimal m = new BigDecimal("1.02");
System.out.println(b.add(m).doubleValue());
}
}
输出结果
0.060000000000000005
2.0300000000000002
2.03