private static void testDouble() { double a = 0.05+0.01; float b = 0.05f+0.01f; System.out.println(a); System.out.println(b); } 输出结果为 a=0.060000000000000005 b=0.060000002
其中float a = 1.0会报错,错误的原因:1.0默认是double类型不能转成float,
写成float a = (float)1.0;也会报错,正确写法float a = 1.0f或者1.0F
如果需要精度比较高的double和float类型进行计算最好用bigDecimal