java高效地反浮点数错误
我在Java和MATLAB中都遇到了一个问题,两个应该相同的数字显然不一样
Java:
float f1 = 0.3f-0.2f;
float f2 = 0.4f-0.3f;
System.out.println(f1==f2); // Prints false
System.out.println(f1); // Prints 0.10000001
System.out.println(f2); // Prints 0.099999994
显然f1
应该等于f2
。什么是最有效的(计算)方法来替换下面的equals
返回true
public boolean equals(float f1, float f2){
return f1 == f2;
}
我需要操作数十万个浮点数,所以优化在这里很重要
共 (0) 个答案