精度问题 浮点计算题,为什么2.0-1.1=0.899999 而2.0-0.1=0.9却能准确表示
精度问题 浮点计算题,为什么2.0-1.1=0.899999 而2.0-0.1=0.9却能准确表示 ?我知道0.1化二进制会循环
------解决方案--------------------
这个问题的根本原因应该是小数都被转换成double进行运算,精度越大越容易产生误差,如果改成如下的语句就能得到类似的结果精度了
System.out.println(2.0f-1.1f);
System.out.println(2.0f-0.1f);