Zwei Double Werte auf zweite Nachkommastelle >= oder <=



  • Hallo,

    ich möchte zwei double Werte bis auf die zweite Nachkommastelle vergleichen.
    Es sollte folgendes möglich sein WERT1>=WERT2 und WERT1<=WERT2
    Und Rückgabe soll ein true oder false sein.

    Wie setze ich das bestmöglichst um?

    Gruß
    Julian



  • Vergleich round(WERT1*100.0) mit round(WERT2*100.0)

    round ist in cmath deklariert



  • #include <iostream>
    #include <sstream>
    
    double round( double value, unsigned decimalPlaces )
    {
        std::stringstream ss;
        ss.precision( decimalPlaces + 1 );
        ss << value;
        double roundet;
        ss >> roundet;
        return roundet;
    }
    
    bool greaterOrEqual( double value1, double value2, unsigned decimalPlaces = 2 )
    {
        if( round( value1, decimalPlaces ) >= round( value2, decimalPlaces ) )
            return true;
        else
            return false;
    }
    
    int main()
    {
        std::cout   << std::boolalpha
                    << greaterOrEqual( 1.337, 1.337 ) << "\n"
                    << greaterOrEqual( 1.337, 1.227 ) << "\n"
                    << greaterOrEqual( 1.137, 1.227 ) << "\n";
    }
    


  • sstream schrieb:

    if( round( value1, decimalPlaces ) >= round( value2, decimalPlaces ) )
            return true;
        else
            return false;
    

    😃


Anmelden zum Antworten