Veröffentlicht 28. Oktober 200222 j Hi Wie bekomme ich es bei C++ hin, dass bei der Ausgabe (console über cout) auf 2 Stellen hinterm Komma gerundet wird? Hab das schon ewig nicht mehr gemacht und bekomms einfach nicht mehr hin... aber ich weiss, dass das irgendwie ging... precision gibt ja nur die gesamtlänge an und das bringt mir nichts. Und fixed hilft mir da auch nicht, ebensowenig wie width...
28. Oktober 200222 j Hi, muß es unbedingt cout sein? Wenn nicht: printf ("%.2f",45.56789); [/PHP] Gruß Guybrush
28. Oktober 200222 j Autor Originally posted by vinc double dZahl = 2.236; cout << setprecision (2) << dZahl << endl; So alleine funktionierte das aber nicht. Da gab er mir dann nur die Zahl mit e aus, da er insgesamt nur 2 Stellen dann nahm... Aber habs dann doch irgendwie hinbekommen auf der Arbeit. Ich poste es dann morgen mal eben hier erin, wie... Thx2all
29. Oktober 200222 j tja, hab da auch noch was vergessen double dZahl = 2.236; cout << setiosflags (ios::fixed) << setprecision (2) << dZahl << endl;
2. November 200222 j Hallo! Falls du MS VC++ benutzt (Mit dem Borland Builder kenn i mich ned aus!) kannst du ein Projekt mit MFC-Unterstützung erstellen! Da wäre nämlich bei CString eine Memberfunktion Format() mit der man ähnlich wie mit printf formatieren kann!(ohne Ausgabe halt!) Bsp.: CString hilfe; double zahl=3.14; hilfe.Format("Das ist eine Kommazahl: %.2lf ", zahl); //nun ist der obrige text in hilfe drin! //Ausgabe mit cout: cout << LPCTSTR(hilfe) << endl; //LPCTSTR musst du verwenden da cout Schwierigkeiten mit CStrings hat! falls du auf die MFC - Unterstützung verzichten willst, würd ich auch printf bevorzugen! Ich hoffe dass dir das weitergeholfen hat! Gruß Azrael
7. November 200222 j double dblZahl = 2.34493; cout << (double)(((long)(dblZahl * 100 + .49))) / 100;
7. November 200222 j Originally posted by Gnut cout << (double)(((long)(dblZahl * 100 + .49))) / 100; Du rundest falsch. Und was machst Du bei Zahlen über 20 Millionen? Mein Favorit: double dAufZweiStellen = floor( dUngerundet * 100.0 + .5 ) / 100.0;
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.