Nachkommastellen von FLoat werden nicht richtig angezeigt
-
Wunderschön guten Morgen euch allen
Ich versuche einen Float in einem Label auszugeben. Ich versuche es folgendermassen:
float Note; char buffer[50]; Note=1/3; sprintf(buffer,"%.2f",Note); Label3->Caption=buffer;Mein Problem ist, dass bei dem Bruch keine Kommastellen angezeigt werden, also bei 1/3 wird 0.00 und bei 7/6 wird 2.00 angezeigt. Wenn ich jedoch 3.33333 in den Float einlese wird 3.33 im Label angezeigt.
Nun meine Frage: warum werden mir nicht immer richtig die Kommastellen angezeigt?
Vielen Dank
Nepomuk
-
Nepomuk schrieb:
sprintf(buffer,"%.2f",Note);Du gibst dort ja an das du 2 Nachkommastellen haben möchtest. Und deswegen bekommst du auch immer nur 2.
-
Hallo,
1/3 ergibt ja auch 0 (Integerdivision). Schreib statt dessen mal.
Note = 1.0/3;
-
Vielen Dank Braunstein mit .0 funktioniert es tatsächlich!
-
LOL mein fehler ich dachte du hattest dich über die falsche Formatierung beschwert und hab nicht auf die Integer divisionen geachtet
