zahlen formatieren
-
ich gebe mit output2<<Ku eine Zahl aus,
wie kann ich die nachkommatellen festlegen, die ausgelesen werden
z.b. 2.9999252532
-
Der Thread sollte helfen : DankSuche
-
Du kannst es mit printf machen
double a=34.55567432; printf("%04.5f",a);
gibt die Ausgabe 0034.55567
-
danke, aber ich möchte kein printf verwenden...(ist ja im Prinzip C)
Wie kann ich es bei cout?m.
-
den link nicht angeklickt?
#include <iostream> #include <iomanip> using namespace std; int main () { double d = 0.0123456789; cout << setprecision(10) << fixed << d << '\n'; //10 stellen cout << setw(6) << setfill('0') << setprecision(2) << fixed << d << '\n'; //2 stellen }
wird übrigens gerundet.
google sagt: http://www.math.uni-wuppertal.de/~axel/skripte/oop/oop14_2.html
-
Eisvogel schrieb:
danke, aber ich möchte kein printf verwenden...(ist ja im Prinzip C)
Wie kann ich es bei cout?m.
Ist im C++ Standard und damit zulässig, wie wärs denn mit sprintf.
IMHO halte ich die formatierungsmöglichkeiten der ...printf familie für übersichtlicher
als die von coutsiehe hier
sprintf(buffer,"%03.10f\n");
cout << buffer;gegen
cout << setprecision(10) << fixed << d << '\n'; //10 stellen
cout << setw(6) << setfill('0') << setprecision(2) << fixed << d << '\n'; //2 stellenP.S. Sollte es nicht eher << endl; als <<'\n'; heißen ?
-
ich kenne mich in C nicht besonders aus, aber ich denke mal, es kann schwierig sein, eigene formatierungsanweisungen zu denen von printf dazuzutun, oder?
wenn man dann noch dieselbe printf funktion verwenden will, mein ich.'\n' statt endl ist eine masche von mir, weil ich finde, dass endl überflüssig ist, und '\n' kürzer zu schreiben ist. außerdem flusht '\n' den stream nicht (= leert den buffer nicht). ist reine gewohnheitssache, das auch bei so simplen beispielen zu schreiben
-
Was hat es damit zu tun das du dich in C nicht besonders auskennst, diese Art der Formatierung ist Bestandteil von C++ und zufälligerweise beruht sie auf den selben Routienen die auch C benutzt.
Die wirklichen Evolutionen und die Revolutionen von C++ finden an ganz anderen Stellen statt.
Was meinst du mit eigenen Fornmatierungsanweisungen, am besten mit Beispiel?
-
eigene manipulatoren meine ich damit.
ein beispiel würde im moment etwas umfangreich sein :p