kleines Problem mit float bei sprintf
-
Mein sprintf-Befehl sieht wie folgt aus:
sprintf(Placeholder, "\rKommentarzeilen: %d, das entspricht einer Kommentierung von %8.5f Prozent\r\r\r", nCount, nProzent);
und ich benutze folgende Berechnung:
nProzent = (100 * (float)nCount) / (float)nLines;
.
Die float-Zahl nProzent lautet: 15.97369003295898.
Ich möchte nun also in sprintf eine Ausgabe haben auf maximal 8 Stellen mit 5 Nachkommastellen, also 15.97369.
Leider scheint der Compiler die Formatangabe zu ignorieren, denn schon im Debugger und dann natürlich auch in meiner Ausgabedatei erhalte ich für nProzent folgende Zahl: 597369475158146508984894898821400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000.00000 (Sorry für die Länge).
Man sieht also, daß die Anweisung mit den 5 Nachkommazahlen funzt, aber was zur Hölle macht er da vor dem Gleitkommazahlenpunkt?!?OS: Mac OS 9.0.4
Codewarrior IDE 4.2.5
-
schon gut
[ Dieser Beitrag wurde am 13.12.2002 um 14:30 Uhr von D1BAKEL editiert. ]