Hallo,
Wie ist es möglich, eine Zahl in Visual C++ auf z.B 2 Stellen nach dem Komma zu runden?
Hab bis jetzt keine Rundungsfunktion gefunden. Was kann man sonst machen?
Danke für jeden Tip
Marc
Hallo,
Wie ist es möglich, eine Zahl in Visual C++ auf z.B 2 Stellen nach dem Komma zu runden?
Hab bis jetzt keine Rundungsfunktion gefunden. Was kann man sonst machen?
Danke für jeden Tip
Marc
Da gibts sicher hunderte Möglichkeiten, hier eine ganz einfache
float a=1.56789; //Zahl mit komma
int b=a*100; //Komma um 2 Stellen nach Rechts und in Integer umwandeln
a=b; //Zurück nach float
a=a/100; //Komma um 2 Stellen nach Links
CString h01; //Hilfsobjekt
h01.Format("%f",a); //Umwandeln in String
MessageBox(h01); //Ausgabe
Das ist allerdings nur Interessant, wenn du zu Berechnungszwecken die Nachkommastellen abschneiden möchtest, wenns nur um die Ausgabe einer Zahl geht, kannst du das bei der umwandlung von Zahl nach String Angeben:
h01.Format("%3.2f",a); //Umwandeln in String
Das %3.2f bedeutet 3 vor- und 2 nachkommastellen.
Gruß PW
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
// Zahl x auf N Stellen runden:
double d=pow(10.0,N);
x=floor(x*d+0.5)/d;
Gruss, Moriarty