"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