decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));
Ich muss nur zwei Dezimalstellen erhalten, aber mit diesem Code erhalte ich 1156.547. Lassen Sie mich wissen, welches Format ich verwenden muss, um zwei Dezimalstellen anzuzeigen.
c#
formatting
Kiran Reddy
quelle
quelle
Antworten:
Wenn Sie die Dezimalstelle runden möchten, schauen Sie sich an
Math.Round()
quelle
Ihre Frage lautet, zwei Dezimalstellen anzuzeigen. Die Verwendung des folgenden String.Formats hilft:
String.Format("{0:.##}", Debitvalue)
Dies zeigt dann eine Zahl mit bis zu zwei Dezimalstellen an (z. B. würde 2.10 als 2.1 angezeigt).
Verwenden Sie "{0: .00}", wenn Sie immer zwei Dezimalstellen anzeigen möchten (z. B. wird 2.10 als 2.10 angezeigt).
Wenn das Währungssymbol angezeigt werden soll, verwenden Sie Folgendes:
String.Format("{0:C}", Debitvalue)
quelle
String.Format("{0:C}", Debitvalue)
als$"{Debitvalue:C}"
Verwenden Sie
Math.Round()
für die Rundung auf zwei Dezimalstellendecimal DEBITAMT = Math.Round(1156.547m, 2);
quelle
Der beste Ansatz, wenn Sie IMMER zwei Dezimalstellen anzeigen möchten (auch wenn Ihre Zahl nur eine Dezimalstelle hat), ist die Verwendung
yournumber.ToString("0.00");
quelle
ich benutze
decimal Debitvalue = 1156.547m; decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:F2}", Debitvalue));
quelle
Hier ist ein anderer Ansatz
decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));
quelle
Nur zur Anzeige kann die Eigenschaft von
String
wie folgt verwendet werden:double value = 123.456789; String.Format("{0:0.00}", value);
Verwenden von
System.Math.Round
. Dieser Wert kann anderen zugewiesen oder nach Bedarf bearbeitet werden.double value = 123.456789; System.Math.Round(value, 2);
quelle
Wahrscheinlich eine Variante der anderen Beispiele, aber ich verwende diese Methode, um sicherzustellen, dass ein Punkt vor den Dezimalstellen und kein Komma angezeigt wird:
someValue.ToString("0.00", CultureInfo.InvariantCulture)
quelle
Ein anderer Weg :
decimal.Round(decimalvalue, 2, MidpointRounding.AwayFromZero);
quelle
Eine andere Option ist die Verwendung der Decimal.Round-Methode
quelle
Wenn jemand nach einer Möglichkeit sucht, Dezimalstellen anzuzeigen, auch wenn diese mit ".00" endet , verwenden Sie Folgendes :
String.Format("{0:n1}", value)
Referenz:
https://docs.microsoft.com/pt-br/dotnet/standard/base-types/standard-numeric-format-strings#the-numeric-n-format-specifier
quelle
In einigen Tests hier hat es perfekt funktioniert:
Decimal.Round(value, 2);
Hoffe das hilft
quelle