浮点数在计算机中常常无法精确表示,并且计算可能出现误差
因此,判断浮点数相等用
==判断不靠谱正确的做法是利用差值小于某个临界值来判断
例子
public class Main {
double x = 1 - 9.0 / 10;
if (x == 0.1) {
System.out.println("x is 0.1");
} else {
System.out.println("x is not 0.1");
}
}
修改
把if判断括号里面的x == 0.1 改成 Math.abs(x - 0.1) < 0.00001 利用差值小于某个临界值来判断。