"double" u. dezimalzahlen



  • #include <stdio.h>
    #include <iostream.h>
    
    #define Y 1000000;
    
    int main ()
            {
        double c,d;
        cout <<"Geben sie die \346A ein\n";
            cin >> c;
        d=c/Y;
        cout <<"Das Ergebniss lautet "<<c<<"\346A = "<<d<<"A""\n";
    return 0;       
    }
    

    So das ist ein kleiner Auszug aus meinem Programm. Der Rechnet µA in A um. Mein Problem ist folgendes trotz "double" (zehn nachkommastellen) nimmt er nur 900 µA = 0.0009A an. Wenn ich nun 9µA eintippe,kommt diese merkwürdige Lösung heraus: 9µA = 9e-006A
    Was hat das zu bedeuten und wie bekomme ich das weg, das er ganz normale dezimalzahlen ausgibt ??

    Danke
    Euer Landser



  • Mit

    cout.precision(AnzahlStellen);
    

    kannst du die Anzahl der Ausgabestellen festlegen.



  • Danke und wo soll ich das einfügen? Kannst du mir ein Beispiel geben? Oder gleich in meinen Quelltext reinverbessern

    Danke
    Euer
    Landser



  • In welcher Header Datei ist setprecision und cout.precision deklariert ?
    Wie benutze ich es? ersetze ich damit den Cout befehl? oder kommt das nach die int main () ?

    Danke
    Euer
    Landser



  • So wie <Stefan> es gepostet hat vor der Ausgabe

    cout.precision(10);
    

    beispielsweise für 10 Stellen.
    oder du machst es einfach mit float:

    #include <stdio.h>
    #include <iostream.h>
    #define Y 1000000;
    
    int main ()
    {
        float c,d;
        cout <<"Geben sie die \346A ein\n";
        cin >> c;
        d=c/Y;
        printf("Das Ergebniss lautet %.0f \346A = %f A\n",c,d);
        return 0;
    }
    


  • Einmal reicht!

    Einmal reicht!
    precision


Anmelden zum Antworten