package test; import java.math.BigDecimal; public class TestBigDecimal { public static void main(String[] args) { BigDecimal n1 = new BigDecimal(2.2); BigDecimal n2 = new BigDecimal(2); System.out.println("new BigDecimal(2.2) 除以 new BigDecimal(2) 等于 "+n1.divide(n2)); BigDecimal n3 = new BigDecimal("2.2"); BigDecimal n4 = new BigDecimal("2"); System.out.println("new BigDecimal(\"2.2\") 除以 new BigDecimal(\"2\") 等于 "+n3.divide(n4)); } } /*输出: new BigDecimal(2.2) 除以 new BigDecimal(2) 等于 1.100000000000000088817841970012523233890533447265625 new BigDecimal("2.2") 除以 new BigDecimal("2") 等于 1.1 */
得出结论:只有将传给BigDecimal构造函数的参数为字符串时, 计算才精确。