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)mitround(WERT2*100.0)roundist incmathdeklariert
-
#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;