package test;
public class Test {
//浮点数使用错误
public static void main(String[] args) {
double num1=2.7;
double num2=8.1/3;
System.out.println(num1);
System.out.println(num2);
}
}
上面的输出结果为:
num2的显示在计算机中明显错误,在编程过程中应该注意这个问题。
因此我们得到结论当我们运算结果为小数并需要进行相等判断时,要小心。
解决方法:
以两个数的差值的绝对值,在某个精度范围内进行判断
例如:
package test;
public class Test {
//浮点数使用错误
public static void main(String[] args) {
double num1=2.7;
double num2=8.1/3;
System.out.println(num1);
System.out.println(num2);
if(Math.abs(num1-num2)<0.00001) {
System.out.println("相等");
}
}
}