public class FloatComparator {
public static void main(String[] args) {
double a = 2.00 - 1.10;
double b = 0.90;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println(isEqual(a, b));
System.out.println(a==b);
}
public static boolean isEqual(double a, double b) {
final double epsilon = 0.000000001;
return Math.abs(a - b) < epsilon;
}
}
输出结果:
a=0.8999999999999999
b=0.9
true
false
本文通过一个Java示例展示了直接使用等于运算符比较浮点数可能导致的问题,并提供了一种更可靠的比较方法——允许误差范围内的近似相等判断。
1012

被折叠的 条评论
为什么被折叠?



