Ich habe eine Liste von float
Werten und möchte sie cout
mit 2 Dezimalstellen drucken .
Beispielsweise:
10.900 should be printed as 10.90
1.000 should be printed as 1.00
122.345 should be printed as 122.34
Wie kann ich das machen?
( setprecision
scheint dabei nicht zu helfen.)
#define FIXED_FLOAT(x) std::fixed <<std::setprecision(2)<<(x)
vereinfacht die Verwendung auf:cout<<FIXED_FLOAT(d)
Sie waren fast da, müssen auch std :: fixed verwenden, siehe http://www.cplusplus.com/reference/iostream/manipulators/fixed/
Ausgänge:
quelle
setprecision(n)
gilt für die gesamte Zahl, nicht für den Bruchteil. Sie müssen das Festkommaformat verwenden, damit es auf den Bruchteil angewendet wird:setiosflags(ios::fixed)
quelle
Vereinfachen Sie die akzeptierte Antwort
Vereinfachtes Beispiel:
Und Sie erhalten Ausgabe
Referenz:
std::fixed
std::setprecision
quelle
Ich hatte ein Problem mit ganzen Zahlen, während ich eine konsistente Formatierung wünschte.
Ein Umschreiben der Vollständigkeit halber:
quelle
Ich hatte dieses ähnliche Problem in einem Codierungswettbewerb und so habe ich damit umgegangen. Festlegen einer Genauigkeit von 2 für alle Doppelwerte
Fügen Sie zuerst den Header hinzu, um setprecision zu verwenden
#include <iomanip>
Fügen Sie dann den folgenden Code in unser Hauptcode ein
Ausgabe:
Sie müssen fest zum Schreiben von 5.00 verwenden, deshalb wird Ihre Ausgabe nicht für 5.00 kommen.
Ein kurzer Referenzvideolink, den ich hinzufüge, ist hilfreich
quelle
Sie müssen den 'Float-Modus' auf fest einstellen.
quelle
Verwenden Sie zuerst die folgenden 2 Stellen nach dem Dezimalpunkt:
Dann drucken Sie Ihre doppelten Werte.
Dies ist ein Beispiel:
quelle
quelle
mit Vorlagen
Ähnliches gilt auch für wissenschaftliche Zwecke, mit einer Breitenoption (nützlich für Spalten).
quelle
Nur ein kleiner Punkt; Fügen Sie Folgendes in die Kopfzeile ein
Verwenden des Namespace std;
dann
std :: cout << std :: fixed << std :: setprecision (2) << d;
wird vereinfacht
cout << fixed << setprecision (2) << d;
quelle
using namespace std;
- verstehen Sie, warum Sie dies tun.Dies ist ein Beispiel mit einer Matrix.
quelle