Ich möchte ein Komma an der Tausenderstelle für eine Nummer hinzufügen.
Wäre String.Format()
der richtige Ansatz? Welches Format würde ich verwenden?
Ich möchte ein Komma an der Tausenderstelle für eine Nummer hinzufügen.
Wäre String.Format()
der richtige Ansatz? 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; // Trennzeichen in numerischen Literalen seit C# 7.0 ebenfalls 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 verbunden ist, z.B. wenn es "en-US" ist, wird es ein '$' sein.
Eigentlich war es 7.0, siehe: learn.microsoft.com/en-us/dotnet/csharp/language-reference/…
Wenn Sie unabhängig von der Kultur ein ","-Trennzeichen erzwingen möchten (zum Beispiel in einer Trace- oder Log-Nachricht), funktioniert der folgende Code und hat den zusätzlichen Vorteil, dem nächsten, 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.