如何比较C++中的浮点变量

How to compare floating point variables in C++?

本文关键字:C++ 浮点变量 比较 何比较      更新时间:2023-10-16

这篇文章指出,由于舍入误差,不应该将浮点变量与==进行比较。我应该在什么时候使用什么?

您可以使用if (abs(result - expected) < 0.00001)

或者对于相对误差,而不是绝对误差:

float relativeError = abs((A - B) / B);
    if (relativeError <= maxRelativeError)

请参阅此了解更多详细信息。http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm