Große Zahlen runden



  • Hallo,

    habe folgendes Problem:
    Möchte eine große Zahl auf 2 Nachkommastellen runden.
    Habe es jetzt mit cout.precision versucht.
    Bei kleineren Zahlen funzt das auch aber über 100 gibt er nur eine Nachkommastelle zurück. Kann natürlich cout.precision hochlegen, dann kommen aber bei kleineren Zahlen mehr Nachkommastellen raus.
    Wie kann ich ds denn am besten machen?

    Grüße Colt



  • Wenn mich jetzt nicht alles täuscht bestimmt cout.precision(x) die Genauigkeit der _gesammten_ Zahl und nicht nur der Nachkommastellen.

    Um die Genauigkeit auf die Nachkommastellen zu beschränken, solltest du cout.precision(x) (oder den manipulator setprecision(x)) im Zusammenhang mit dem Manipulator fixed einsetzen. fixed bewirkt die Darstellung als Festpunktzahl.

    Beispiel:

    const double x = 3.14159652;
    std::cout << "\n x: " << std::setprecision(2) << x; // Zwei Stellen
    std::cout << "\n x: " << std::fixed << std::setprecision(2) << x << std::endl; // Zwei Nachkommastellen
    

    /edit: Hoffentlich habe ich jetzt alle std:: [...]

    Caipi



  • Vielen Dank für die Antwort.
    Genau so was habe ich gesucht.
    👍


Anmelden zum Antworten