java在计算浮点型数字时往往会出现如下精度丢失的情况,导致计算不准确,为了解决这个问题,可以通过使用BigDecimel进行转换后再计算。一般可以定义一个类将计算方法写进去再调用。
public static void main(String[] args) {
System.out.println(0.01+0.05);
System.out.println(1.0-0.42);
System.out.println(4.015*100);
System.out.println(123.3/100);
System.out.println(new BigDecimal("0.01").add(new BigDecimal("0.05")));
System.out.println(new BigDecimal("1.0").subtract(new BigDecimal("0.42")));
System.out.println(new BigDecimal("4.015").multiply(new BigDecimal("100")));
System.out.println(new BigDecimal("123.3").divide(new BigDecimal("100")));
}