nachkommastellen



  • hi, ich wollte mir ein kleines script schreiben mit den folgenden ausgaben:

    1
    1.5
    1.75
    .
    .
    .

    also man hat zuerst eins, danach rechnet man die hälfte von der vorhergehenden zahl aus usw. mein problem ist jetzt aber das nur die ersten 5 nachkommastellen angezeigt werden. ich verwende den typ long
    gibt es einen der mehr als nur 5 nachkommastellen anzeigt?? oder wie muss ich das ganze anstellen??

    danke :p



  • Seit wann hat long Nachkommastellen? Mach es mit unsigned long double. Setz cout.precision auf einen höheren Wert, dann werden auch mehr Nachkommastellen angezeigt.



  • CME386 schrieb:

    Seit wann hat long Nachkommastellen? Mach es mit unsigned long double. Setz cout.precision auf einen höheren Wert, dann werden auch mehr Nachkommastellen angezeigt.

    hmm da hab ich mich wohl vertan 😉 wie geht das mit cout.precision??



  • Hier ein Ausschnitt aus einem Programm:

    #include <iostream>
    #include <iomanip>
    using namespace std; 
    
    int main()  
    { 
       //... 
                    betrag = EINHEIT * parkdauer / ZEITTAKT;  
                    cout << "Parkdauer: " << parkdauer << " Minuten." << endl;
                    cout.setf(ios::fixed,ios::floatfield); //Formatierung            
                    cout << "Zu zahlender Betrag : " 
                         << setprecision(2) << betrag << WAEHRUNG << endl;  
       //...
    }
    


  • Erhard Henkes schrieb:

    Hier ein Ausschnitt aus einem Programm:

    #include <iostream>
    #include <iomanip>
    using namespace std; 
     
    int main()  
    { 
       //... 
                    betrag = EINHEIT * parkdauer / ZEITTAKT;  
                    cout << "Parkdauer: " << parkdauer << " Minuten." << endl;
                    cout.setf(ios::fixed,ios::floatfield); //Formatierung            
                    cout << "Zu zahlender Betrag : " 
                         << setprecision(2) << betrag << WAEHRUNG << endl;  
       //...
    }
    

    und was ist da ausschlaggebend für die anzahl nachkommastellen?? ich denke das setprecision, aber das cout.setf kenn ich auch net 🙄
    bezieht sich das setprecision auf betrag???



  • "setprecision(2)" bewirkt dasselbe wie "cout.precision(2)", nämlich dass zwei Nachkommastellen ausgegeben werden. Mit "setf(ios::" formatiert man, z.B. "setf(ios::right) für rechtsbündig (hat Erhard aber auch schon in seinem Kommentar stehen).



  • Legt setprecision wirklich nur Nachkommastellen fest oder handelt es sich dabei nicht auch um irgendwelche Stellen einer Zahl?
    Ich bin bisher davon ausgegangen, dass es sich um Vor+Nachkommastellen handelt.

    MfG MAV



  • @Mis2com: Hast Recht, es werden alle Stellen mitgezählt, ich war noch müde.


Log in to reply