C ++ setprecision (2) eine Dezimalstelle drucken?

8

Ich versuche eine einfache Ausgabe in formatiertem Text zu machen. Setprecision druckt meine Variablen nicht auf zwei Dezimalstellen aus.

Zum Beispiel, wenn firstItemPrice = 2.20, ist die Ausgabe 2.2 statt 2.20

%Vor%     
lloyd 17.05.2013, 22:43
quelle

2 Antworten

11

Sie brauchen dafür ein fixed .

%Vor%

Setzen Sie es zurück mit:

%Vor%

In Ihrem Fall sollten Sie das letzte Bit Ihres Programms wie dieses Beispiel ändern:

%Vor%

Editorial beiseite: Verwenden Sie keine Gleitkommazahlen, um Währungswerte darzustellen.

    
Carl Norum 17.05.2013, 22:45
quelle
2

von Ссылка

  

Die Gleitkommapräzision bestimmt die maximale Anzahl von Ziffern, die bei Einfügungsoperationen geschrieben werden, um Gleitkommawerte auszudrücken. Wie dies interpretiert wird, hängt davon ab, ob das Floatfield-Format-Flag auf eine bestimmte Notation (entweder fixiert oder wissenschaftlich) eingestellt ist oder ob es nicht gesetzt ist (unter Verwendung der Standardnotation, die weder fix noch wissenschaftlich entspricht).

     

Für das Standardgebietsschema:    Bei Verwendung der Standard-Gleitkomma-Notation gibt das Präzisionsfeld die maximale Anzahl der insgesamt anzuzeigenden sinnvollen Ziffern an, die sowohl vor als auch nach dem Dezimalzeichen gezählt werden . Beachten Sie, dass es sich nicht um ein Minimum handelt, und daher wird die angezeigte Zahl nicht mit abschließenden Nullen aufgefüllt, wenn die Zahl mit weniger Ziffern als der Genauigkeit angezeigt werden kann.   Sowohl in den festen als auch in den wissenschaftlichen Notationen gibt das Präzisionsfeld genau an, wie viele Ziffern nach dem Dezimalpunkt angezeigt werden sollen, auch wenn dies abschließende dezimale Nullen einschließt. Die Ziffern vor dem Dezimalpunkt sind in diesem Fall für die Genauigkeit nicht relevant.

    
Mooing Duck 17.05.2013 22:54
quelle

Tags und Links