Nachkommastellen von Zahlen mit 0 auffüllen - setprecision - setfill



  • Heyho,

    ich will mehrere double-Zahlen mit einer Genauigkeit von 16 Stellen hinter dem Komma ausgeben.

    Blöderweise ist eine Zahl davon "endlich" und hat nur 15 Nachkommastellen. Also werden mir nur 15 Stellen angezeigt. Ich hätte aber gerne, dass die 16te dann mit "0" aufgefüllt wird.

    Das habe ich folgendermaßen versucht:

    out << left << setfill('0') << setprecision(17) << doublezahl << endl;

    Nach wie vor werden mir aber nur 15 Nachkommastellen und keine "0" an der 16 angezeigt. Was mache ich falsch?
    Klappt "setfill" nur bei Integerzahlen?

    Danke! 🙂



  • Dir fehlt noch 'setw' für die Angabe der gesamten Breite.
    Problematisch wird dies jedoch bei unterschiedlich langen Vorkommazahlen, d.h. du müßtest erst die Länge der Vorkommazahl (in Zeichen) ermitteln und dann 17 draufaddieren (1 für den Dezimalpunkt und 16 für die Nachkommastellen).



  • dankeschön. mit dem manipulator setw klappts!


Anmelden zum Antworten