示例代码:
public static void main(String[] args) {
float a = 10.222222225f;
float b = 10.222222229f;
System.out.println("使用==判断是否相等:" + (a == b));// 超出精度范围
System.out.println("使用Math.abs()判断是否相等:" + (Math.abs(a - b) >= 0));
System.out.println("比较a是否大于b:" + (a > b));
System.out.println("比较b是否大于a:" + (a < b));
}
输出的结果:
使用==判断是否相等:true
使用Math.abs()判断是否相等:true
比较a是否大于b:false
比较b是否大于a:false
总结:
一般不会直接用"=="或者"!="对两个浮点数进行比较。
判断两个浮点数float a 与 float b 是否相等可以根据他们的差的绝对值与0的大小来进行判断。
Math.abs(a - b) >= 0或者Math.abs(a - b) <= 0则代表这两个浮点数相等