浮点数在做运算后是会出现误差的,这很正常。
double a=2.00-1.10;
double b=0.90;
System.out.print(a==b);
结果会输出false
所以有时在判断浮点数相等时会用到一个方法,那就是
public static boolean isEqual(double a,double b){
final double epsilon=0.00000001;
return Math.abs(a-b)<epsilon;
}
double a=2.00-1.10;
double b=0.90;
System.out.print(a==b);
结果会输出false
所以有时在判断浮点数相等时会用到一个方法,那就是
public static boolean isEqual(double a,double b){
final double epsilon=0.00000001;
return Math.abs(a-b)<epsilon;
}