Anzahl der Nachkommastellen in Datei schreiben?



  • Hi.

    ofstream myfile;
    double zahl;
    zahl = 0.1515152356262;
    myfile.open("data.txt");
    myfile << zahl;
    myfile.close();
    

    Meine Frage zu dem obigen Code wäre, ob ich irgendwie festlegen kann, wie viele Nachkommastellen von 'zahl' in die Datei geschrieben werden?
    Danke Euch schonmal!



  • Ja, kannst du: myfile<<setprecision(anzahl)<<zahl; (allerdings sollte dir klar sein, daß die Gleitkomma-Typen nur eine begrenzte Genauigkeit haben)



  • es gibt auch ein argument, dass sich setprecision wirklich auf die nachkommastellen bezieht, normal sagt es nur, wie viele Stellen es insgesamt geben kann.



  • Krux schrieb:

    es gibt auch ein argument, dass sich setprecision wirklich auf die nachkommastellen bezieht, normal sagt es nur, wie viele Stellen es insgesamt geben kann.

    Argument ist vielleicht falsch ausgedrückt - Ausgabeflag trifft's besser (ich hoffe, ich habe deinen Satz jetzt richtig verstanden): mit "myfile<<scientific<<..." lässt du die Zahl im wissenschaftlichen Format (als "1.51e-1") ausgeben, mit "myfile<<fixed<<..." im 'klassischen' Format (als "0.151").
    (die Standardeinstellung verwendet das Format, was die kürzere Ausgabe erzeugen würde)


Anmelden zum Antworten