PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehr Kommastellen! Kann mir einer helfen


Gast
2004-05-18, 18:51:32
Hi

kann mir einer sagen wie ich mehr Nachkommastellen erhalte. Wenn ich double benutze erhalte ich nur 6 Stellen nach dem Komma.

Danke schon mal im voraus

Einfachkrank
2004-05-18, 18:56:20
oh je, jetzt geht das mit den datentypen los :-)
war nicht long double noch genauer? *nichtsichersei*

ethrandil
2004-05-18, 19:01:37
Bist du sicher, dass du nur 6 Kommastellen hast?
Werden nicht vielleicht nur 6 von vielen von der Ausgabe angezeigt? *grübel*

- Eth

Ganon
2004-05-18, 19:03:53
Also bei mir nicht. Ist Compiler-Abhängig. Also das mit double, long double

Xmas
2004-05-18, 19:17:36
Um welche Sprache, welchen Compiler, welche Hardware geht es überhaupt?

Gast
2004-05-18, 21:06:08
Nimm zeckensacks extreme float. Die Genauigkeit sollte reichen :D

mfg

Trap
2004-05-19, 00:18:37
Double hat ungefähr 15 Dezimalstellen Genauigkeit. Wenn du kleine Zahlen hast, dann kannst du sicher mehr als 6 Nachkommastellen bekommen, musst nur das Ausgabeformat richtig setzen.

Gast
2004-05-19, 22:36:53
Original geschrieben von Trap
Double hat ungefähr 15 Dezimalstellen Genauigkeit. Wenn du kleine Zahlen hast, dann kannst du sicher mehr als 6 Nachkommastellen bekommen, musst nur das Ausgabeformat richtig setzen.
Die Zahl ist nicht groß (nur 1 Stelle links vom Komma). Kannst du mir auch sagen wie ich das Ausgabeformat richtig setzen kann?

Trap
2004-05-20, 09:33:48
Das hängt davon ab was für Software du benutzt.

Gast
2004-05-20, 10:20:48
Ich benutze Borland C++ V3.1

zeckensack
2004-05-20, 15:00:47
Original geschrieben von Gast
Die Zahl ist nicht groß (nur 1 Stelle links vom Komma). Kannst du mir auch sagen wie ich das Ausgabeformat richtig setzen kann? printf("%.15f",zahl);Sechs Nachkommastellen sind default für printf und Konsorten. Lünq (http://www.cplusplus.com/ref/cstdio/printf.html).

Vedek Bareil
2004-05-21, 00:37:29
Original geschrieben von zeckensack
printf("%.15f",zahl);
[de.comp.lang.c/de.comp.lang.iso-c++-Modus ein]
gaaaaanz falsch. Er benutzt Borland C++, und damit sollte er auch in C++ programmieren. Dein Code ist aber nicht C++, sondern etwas vollkommen anderes, nämlich C. In C++ geht die Änderung des Ausgabeformates vollkommen anders, nämlich so:
cout.precision(15);
cout << zahl << endl;
[de.comp.lang.c/de.comp.lang.iso-c++-Modus aus]

Ich persönlich sehe das Verhältnis C vs. C++ ja eigentlich auch etwas lockerer, aber sollte von euch jemand jemals in Usenet in eine der beiden genannten Groups kommen: seid gewarnt, dort sieht man das sehr sehr streng ;)

Ansonsten hat die Methode mit cout.precision den Vorteil, daß man das Ausgabeformat ein einziges Mal festlegt und dieses dann bei jeder folgenden Ausgabe verwendet wird.

zeckensack
2004-05-21, 16:20:00
*hust*
"Except for minor details, C++ is a superset of the C programming language. In addition to the facilities provided by C, C++ provides flexible and efficient facilities for defining new types."

Bjarne Stroustrup, "The C++ Programming Language" - Addison Wesley - ISBN 0-201-88954-4, Preface to the First Edition

Gast
2004-05-21, 21:26:55
Danke an alle besonders an Vedek Bareil. Ihr habt mir echt weiter geholfer.