【编程】C++入门:如何判断两个浮点数是否相等

不能用等号判断两个小数是否相等

bool isEqual(const double a, const double b)
{
    
    
    const eps_0 = 1.0e-6, rel_error = 10e-4;
    bool isEqualFlag = FALSE;
    if(fabs(a-b)<=eps_0)
    {
    
    
        isEqualFlag = TRUE;
    } 
    else{
    
    
        if(fabs(a) >= 1000.0)
        {
    
    
            if(fabs(a-b)<=rel_error*fabs(a)) 
            {
    
    
                isEqualFlag = TRUE;
            }
        }
    }
    return isEqualFlag;
}

参考资料:https://www.cnblogs.com/liuyc/p/5933850.html

猜你喜欢

转载自blog.csdn.net/m0_46613023/article/details/114918957
今日推荐