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. ]


Anmelden zum Antworten