[Programming] Introduction to C++: How to determine whether two floating-point numbers are equal

Cannot use the equal sign to determine whether two decimals are equal

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;
}

Reference materials: https://www.cnblogs.com/liuyc/p/5933850.html

Guess you like

Origin blog.csdn.net/m0_46613023/article/details/114918957