代码: package puzz; import java.math.BigDecimal; public class Change { public static void main(String[] args) { // result != 0.90 System.out.println(2.00 - 1.10); // OK System.out.println((200 - 110) + "cents"); // OK,use BigDecimal(String) ,not BigDecimal(Double) System.out.println(new BigDecimal("2.00").subtract(new BigDecimal( "1.10"))); } } 结果: //0.8999999999999999 //90cents //0.90 需要精确答案的地方,要避免使用float和double;对于货币计算,要使用int,long或BigDecimal