Benutzereingaben in float werden falsch gespeichert
-
Hallo,
habe ein Proggy geschrieben welches float Zahlen einlesen soll. Wenn ich aber beispielsweise 3.33 eingebe, macht der da lt. Debugger 3.3299999 draus. Warum ist das so und wie kann man das abstellen?
Gruß,
der kleine Float

-
Benutz halt std::setprecision
MfG
-
float besitzt nur eine gewisse Genauigkeit. Ausserdem basiert float nicht auf einem Zehner-Zahlensystem, daher sind manche Werte nicht ganz darstellbar. So wie 0, (Periode) 3 [1/3] im Zehner-System nicht so gut darstellbar waere.
Gruß
Don06
-
Welcher Variablentyp, der Kommastellen unterstützt, basiert denn auf dem Zehnerzahlensystem?
-
keiner. der computer rechnet nunmal binär
-
Gibts denn was womit man auf zwei Stellen nach dem Komma runden kann?
-
Hallo
Gerundet wird immer nur für die Ausgaben, und wie das geht steht bereits in der ersten Antwort.
bis bald
akari
-
Wenn du das Problem mit den floatgrenzen nicht haben willst, kannst du es so ähnlich machen.
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1363578.html#1363578
geht auch für C++