小数精确计算 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数.问题在于1.1这个数字不能被精确表示为一个double,因此它被表 示为最接近它的double值,该程序从2中减去的就是这个值,但这个计算的结果并不是最接近0.9的double值. 一般地说,问题在于并不是所有的小数都可以用二进制浮点数精确表示. 二进制浮点对于货币计算是非常不适合的,因为它不可能将1.0表示成10的其他任何负次幂…