private bool IsEqual(double a, double b)
{
bool isEqualFlag = false;
// 绝对误差 0.000001
const double eps_0 = 1.0e-6;
// 相对误差 0.0001
const double rel_error = 1.0e-4;
if (Math.Abs(a - b) <= eps_0)
{
isEqualFlag = true;
}
else
{
if (Math.Abs(a) >= 1000.0 && Math.Abs(a - b) <= rel_error * Math.Abs(a))
{
isEqualFlag = true;
}
}
return isEqualFlag;
}
原文:https://www.cnblogs.com/wesson2019-blog/p/14713535.html