我有一个计算距离的函数,然后稍后将该距离与2的平方根进行比较,以查看两个项目是否在网格上相邻。在Java中这很好用,显然Math.sqrt(Math.pow(x1-x2,2)....)产生与Math.sqrt(2)相同但在C ++ cmath的sqrt(pow(x1-x2,2) )...)不相等。
我cout<< ed双重和显示的精度(我也会输出更高的精度只是为了看)他们看起来相等,但没有评价为相等。另一方面,如果我在sqrt(2)的+ - 0.01范围内测试值,那么这个“近似相等”测试就可以了。这是我应该做的还是其他事情的事情?如果这是我必须做的,是否有更好的方法来进行这项测试?
感谢。