FloatToStringF(...) produziert Müll



  • Hallo allerseits!

    In meinem Projekt tritt je nach Mond-Mars Kostellation das Phänomen auf, dass die Funktion FloatToStringF() statt eines gerundeten Wertes "0" zurück gibt, obwohl die übergebe Float-Variable meinetwegen den Wert 0.67 (!=0) hat.

    Beispiel:

    // fValue = 0.67
    // kommaStellen = 3
    sValue=FloatToStrF(fValue,ffFixed,8,kommaStellen);
    

    Wenn ich mit dem Debugger durchgehe ist sValue == "0"


  • Mod

    Hallo

    wie ist denn fvalue deklariert (als Float ?)
    dann schau dir mal die BCB-Hilfe an
    (moeglicherweise ist Double da besser)

    MfG
    Klaus



  • F98,
    ich neige eher zu der Behauptung, daß der Fehler bei Dir liegt, als bei den Borland-Programmierern. Oder solltest Du etwa nach Jahren der erste sein, der dieses Problem entdeckt hat? 😉
    Kannst Du ein reproduzierbares Beispiel angeben?
    Das Folgende funktioniert (bei mir), wie es soll:

    float fValue = 0.67;
        int kommaStellen = 3;
        String sValue = FloatToStrF(fValue,ffFixed,8,kommaStellen);
    

Anmelden zum Antworten