Kommazahlen und Sonderzeichen



  • Hallo,

    In

    http://www.c-plusplus.net/forum/viewtopic.php?t=36925&highlight=sonderzeichen+ausgeben

    habe ich nicht wirklich die Antwort entdecken können, wie denn nun Sonderzeichen und Kommazahlen in nicht-wissenschaftl. Schreibweise ausgegeben werden können. In Turbo-Pascal konnte man z.B. einfach <auszugebendeVariable>:8:2 schreiben. Aber in c++ geht das nicht ...

    Also nochmal die Frage von meiner Seite: Wie kann ich Sonderzeichen und Kommazahlen lesbar in c++ ausgeben?

    Robert



  • Was verstehst du unter nicht-wissenschaftlicher Schreibweise???
    Wenn du mal ein paar Bsp. gibst kann man ich dir vielleicht weiterhelfen.
    Gruß Wolle



  • Hallo Robert,

    Standardmäßig werden Kommazahlen mit einer Genauigkeit von sechs Dezimalziffern ausgegeben. Du kannst diese Genauigkeit aber mit dem fixed sowie setprecision(n) Manipulater aendern.

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
            long double wert = 2.11111111111111111;
    
            cout << "Double: " << wert << endl; // Ohne Manipulatoren
            cout << "Double: "  << fixed << setprecision(16) << wert << endl; 
    
            return 0;
    }
    

    Mit dem Manipulator fixed ereichst du die Darstellung als Festpunktzahl. Wenn du zusätzlich noch den Manipulator setprecision(n) verwendest, wird der Wert für die Genauigkeit der Kommastellen geändert.

    Bzg. Sonderzeichen siehe Konsolenfaq

    Hoffe ich konnte dir helfen

    Caipi



  • Hallole,

    Also Wolle (ich denke zumindest) es nennt sich wissenschaftlich, wenn nach den Zahlen z.B. "e+08" auftaucht. Da ist es dann nicht mehr jedem auf Anhieb klar wo denn das Komma nun zu sitzen hat.

    Der Tipp von Caipi hat mir schon mal weitergeholfen, danke!! Eine kleine Nachfrage:

    cout << "Double: "  << fixed << setprecision(16) << wert << endl;
    

    gibt 16 festgeschriebene Nachkommastellen. Ohne "fixed" habe ich dann die Ausgabe auf 16 Stellen festgeschrieben innerhalb derer irgendwo das Komma sitzt.

    Habe ich das so richtig Verstanden?

    Robert



  • Hallo

    Sorry für meine Antwort vorhin. Habe mich getäuscht. Der Manipulator fixed setzt die Darstellung als Festpunktzahl. Das Gegenteil von fixed ist scientific. Scientific setzt die Darstellung in exponentieller Notation.

    Nochmal Entschuldiung für meine falsche Antwort.
    (Ich mache so gut wie garnichts mit Gleitpunktzahlen bzw. ihren Manipulatoren).

    Caipi


Anmelden zum Antworten