Frage zum Manipulator showpoint und setprecision()
-
Hallo zusammen,
wenn ich das hier schreibefloat x=1.23f; cout << showpoint << x << endl;dann wir das hier ausgegeben: 1.23000
Ich verstehe aber nicht warum. Dieser Manipulator sagt zum einen, dass der Dezimalpunkt immer angezeigt wird und dass angehängte Nullen nicht abgeschnitten werden. Nun frage ich mich, warum gerade drei Nullen ausgegeben werden und nicht 5 oder 2. Liegt das an einer voreingestellten Genauigkeit oder woran?Wenn ich das schreibe:
float x=1.23f; cout << showpoint << setprecision(1) << x << endl;dann wird 1. ausgegeben, obwohl ich eine Kommastelle haben möchte. Warum??
Auch hier hier:float x=9.876; cout << setprecision(3) << x << endl;Warum werden auch hier nur zwei Kommastellen ausgegeben?
Könnt ihr mir helfen?
Vielen Dank
lg, freakC++
-
Stimmt doch alles: http://en.wikipedia.org/wiki/Arithmetic_precision
-
Das das stimmt, war mir klar. Ich mache den Fehler und nicht C++ :D. Laut dem Wikipedia Artikel liegt das unterschiedliche Darstellen an der wissenschatlichen oder der dezimalen Schreibweise??
Vielen Dank für den Link.
lg, freakC++