老大说:谁要再用double定义商品金额,就自己收拾东西走
先看现象 涉及诸如float或者double这两种浮点型数据的处理时,偶尔总会有一些怪怪的现象,不知道大家注意过没,举几个常见的栗子: 典型现象(一):条件判断超预期 System.out.println( 1f == 0.9999999f ); // 打印:false System.out.println( 1f == 0.99999999f ); // 打印:true 纳尼? 典型现象(二):数据转换超预期 float f = 1.1f; double d = (double) f; System.out.println(f); // 打印:1.1 System.out.println(d); // 打印:1.100000023841858 纳尼? 典型现象(三):基本运算超预期 System.out.println( 0.2 + 0.7 ); // 打印:0.8999999999999999 纳尼? 典型现象(四):数据自增超预期 float f1 = 8455263f; for (int i = 0; i < 10; i++) { System.out.println(f...