我习惯于将浮点数与以下函数进行比较。但是,我只是检查 c++11 是否提供了一些浮点比较函数,例如isgreaterequal
. 我的问题是我是否应该用标准中的功能替换它?
bool isEqual(double lhs, double rhs, double epsilon = /std::numeric_limits<double>::epsilon())
{
if (lhs == rhs)
{
return true;
}
return fabs(lhs - rhs) <= ( (fabs(lhs) > fabs(rhs) ? fabs(rhs) : fabs(lhs)) * epsilon);
}