[C++]Stellen hinter dem Komma

J!0X

Ensign
Registriert
Juni 2005
Beiträge
147
Ist wahrscheinlich ne dumme Frage:
Ich habe ein Programm gecodet, welches mit dem Heron-Algorythmus die Quadratwurzel einer Zahl ausrechnet. Es funktioniert soweit auch alles. Das einzige Problem ist, dass er nur 5 stellen hinter dem Komma ausgibt (meine Variable ist eine long double).
-Wie kann man das verändern?


-=> Sry, wenn dieses Thema schon einmal gepostet wurde!

MfG
J!0X
 
Hallo,
du kannst mit printf die Ausgabe formatieren.
Du könntest zB mit printf("%2.7f",x) die Variable x mit 2 Vorkomma- und 7 Nachkommastellen ausgeben!

MfG Andy
 
Jo das funktioniert auch soweit aber ich kann nur maximal 16 Stellen anzeigen lassen :(:(:(
Liegt das an der long double Variable?
 
ja, genauer ist long double bzw. in diesem falle eher double leider nicht.
guck dir mal GMP (GNU Multi Precision Arithmetic Library) damit kannst du auch floating point außerhalb der grenzen deiner fpu machen. man muss nur gleich dazu sagen, dass alles was nicht in der fpu sonder von hand berechnet wird, sau lahm ist.
 
Da im Titel C++ steht, hier auch mal die C++-Variante:

Code:
#include <iostream>
#include <iomanip>

using namespace std;

.....


double d = 1.234567890;
cout << fixed << setprecision( 10) << d << endl;

Für die Zahl bei setprecision deine Anzahl an Stellen einsetzen.
Die maximale Anzahl an genauen Stellen kannst Du hiermit rausfinden:
Code:
#include <limits>

using namespace std;

...

int anzahlStellen = numeric_limits<long double>::digits10;

Anstatt long double kannst Du auch andere Built-In Datentypen hinschreiben.
 
Zurück
Oben