Ich möchte ein Komma an der Tausenderstelle für eine Zahl hinzufügen.
Würde String.Format()
der richtige Weg sein? Welches Format würde ich verwenden?
Ich möchte ein Komma an der Tausenderstelle für eine Zahl hinzufügen.
Würde String.Format()
der richtige Weg sein? Welches Format würde ich verwenden?
C# 7.0+ macht dies so einfach und schön aussehend, wie es sein sollte, mit String-Interpolation:
var jackpot = 1_000_000; // Unterstrich-Trennzeichen in numerischen Literalen sind ebenfalls seit C# 7.0 verfügbar
var niceNumberString = $"Jackpot beträgt {jackpot:n}";
var niceCurrencyString = $"Jackpot beträgt {jackpot:C}";
Console.WriteLine(niceNumberString); // Ausgabe: "Jackpot beträgt 1.000.000,00"
Console.WriteLine(niceCurrencyString); // Ausgabe: "Jackpot beträgt ¤1.000.000,00"
Hinweis: '¤' in der Ausgabe für das Beispiel niceCurrencyString wird das Währungssymbol sein, das mit System.Threading.Thread.CurrentThread.CurrentCulture assoziiert ist, z.B. wenn es sich um "en-US" handelt, wird es ein '$'-Zeichen sein.
Eigentlich ist/war es 7.0, siehe: learn.microsoft.com/de-de/dotnet/csharp/language-reference/…
Wenn Sie unabhängig von der Kultur ein ","-Trennzeichen erzwingen möchten (beispielsweise in einer Trace- oder Protokollmeldung), funktioniert der folgende Code und hat den zusätzlichen Vorteil, dem nächsten Menschen, der darauf stößt, genau zu sagen, was Sie tun.
int integerValue = 19400320;
string formatted = string.Format(CultureInfo.InvariantCulture, "{0:N0}", integerValue);
setzt formatted auf "19,400,320"
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.