wie cout.precision(n) einsetzen?



  • Es soll 2.22 dargestellt werden:

    x=2.2222222
    cout.precision(2)<<x;
    

    oder

    x=2.222222
    cout.precision(2);
    cout<<x;
    

    Wie und wo setze ich es ein?
    Danke schon mal für die Antwort!



  • Prinzipiell die zweite Variante oder noch besser:

    std::cout << std::setprecision(n) << x << std::endl;
    

    //Edit:
    Btw. Hast du keinen Compiler oder warum fragst du? Am besten du testest es mal. Dann merkst du das beide Varianten so nicht laufen 😉
    Achso und setprecision(n) stellt die Genauigkeit der gesammten Zahl dar. D.h. du müsstest, wenn du 2.22 ausgeben willst, setprecision(3) schreiben.

    Caipi



  • In meinem Buch heißt es, das cout.precision(n) für die Stellen nach dem Komma zuständig ist. Hab jetzt aber auch schon gemerkt das es für die Gesamten stellen zuständig ist...

    🤡



  • Caipi schrieb:

    ...Achso und setprecision(n) stellt die Genauigkeit der gesammten Zahl dar. D.h. du müsstest, wenn du 2.22 ausgeben willst, setprecision(3) schreiben....

    blödsinn:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
      double x = 2.2222222222;
      cout << setprecision(2) << fixed << x << endl;
      int i;
      cin >> i;
    }
    

    ausgabe: 2.22

    //edit: fehler



  • enno-tyrant schrieb:

    Caipi schrieb:

    ...Achso und setprecision(n) stellt die Genauigkeit der gesammten Zahl dar. D.h. du müsstest, wenn du 2.22 ausgeben willst, setprecision(3) schreiben....

    blödsinn:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
      double x = 2.2222222222;
      cout << setprecision(2) << fixed << x << endl;
      int i;
      cin >> i;
    }
    

    ausgabe: 2.22

    //edit: fehler

    Habe ich irgendetwas von fixed geschrieben bzw. erwähnt?

    Vergleiche:

    ...
            double x = 3.14159;
            std::cout << std::setprecision(2) << x << std::endl; // Zahl besitzt 2 Stellen
            std::cout << std::fixed << std::setprecision(2) << x << std::endl; // Zahl besitzt 2-Nachkomma-Stellen
    ...
    

    Vielleicht beachtest du das nächste mal diesen kleinen aber feinen Unterschied :p

    Caipi 😉



  • es war nicht beleidigend gemeint, sondern bezog sich vielmehr auf:

    Caipi schrieb:

    ...D.h. du müsstest, wenn...



  • Ja Ok, jetzt wo du es (für mich) hervorhebst, sehe ich's ein. 🙂

    Hab mich nicht sachlich genug ausgedrückt bzw. habe die anderen Möglichkeiten nicht mit in Betracht gezogen bzw. gepostet.

    Caipi


Anmelden zum Antworten