2013-02-03 19 views
18

Mögliche Duplizieren cout:
How do I print a double value with full precision using cout?Wie eine Fließkommazahl mit n Dezimalstellen

float a = 175.; 
    cout << a; 

Wenn ich den vorherigen Code laufen nur 175, ich werde wie kann ich cout die Zahl mit (zum Beispiel) 3 Dezimalstellen sogar sie waren Nullen .. Wie kann ich "175.000" drucken?!

+0

By the way, für Klarheit, ich es initialisieren würde mit '175.0f'. "175." wird ein "Doppel" erzeugen. Das ist, wenn Sie Ihren Variablentyp wirklich nicht ändern möchten, was in den meisten Fällen besser wäre. – chris

+0

@chris aha, thx für den Tipp –

Antwort

4

Versuchen setprecision:

cout.setf(ios::fixed); 
cout << setprecision(3) << a << endl; 
+0

Jetzt tut es .... –

36

Sie benötigen std::fixed und std::setprecision:

std::cout << std::fixed << std::setprecision(3) << a; 

Diese erfordern folgenden Header:

#include <iomanip> 
+0

Ja, danke ..! –

+3

Ahh, iostreams ... kombiniert nahtlos die Schnelligkeit einer Schildkröte und die Schönheit von Andrew LLoyd-Webber. –

+0

@MuhammadBarrima Sie sollten in Erwägung ziehen, seine Antwort zu akzeptieren, um zu zeigen, welche Sie benötigt haben! : P –

Verwandte Themen