atof: wie eigenmächtiges Runden unterbinden



  • Hi,

    bei folgendem code

    std::string StrZahl = "14.232"; 
    double dZahl = atof(StrZahl.c_str());
    

    bekomme ich nachher für dZahl etwa 14.231999999999 raus.
    Wie so ist das so? Was muss ich machen um genau 14.232 herauszubekommen?

    14.232 ist hierbei nur ein Beispiel die Anzahl der Stellen vor und nach dem Komma ist Variabel.

    MfG,
    GrafZahl



  • Du musst ein selbstdefiniertes eps draufaddieren und selber runden oder weinen, weil Gleitpunktarithmetik nicht immer 100%ig genau sein kann 😉 .


Anmelden zum Antworten