摘要: 001,浮点计算Java中的简单类型是不适用于浮点(float,double)的精确计算的。原因:虽然现在的CPU都支持浮点的运算的,但CPU在处理的时候,也是先把浮点数转成整数再转成二进制,然后再进行操作,如果有取余,会有不同的取余方式。再加上运算完成后,再把二进制转换成上层的浮点,又会有一些取舍。就造成了了一些简单明显的错误。如double a = 0.05;double b = 0.01;System.out.println(a+b);//这里会打印0.060000000000000005解决方案:BCD码,或者,BigDecimal(java.math包下) BigDecimal是ja 阅读全文
posted @ 2013-09-25 16:44 把门一关 阅读(209) 评论(0) 推荐(0)