1049 Stimmen

.NET String.Format() um Kommas an tausendstel Stelle für eine Zahl hinzuzufügen

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?

9voto

Beachten Sie, dass der Wert, den Sie formatieren, numerisch sein sollte. Es sieht nicht danach aus, als würde er eine Zeichenfolgendarstellung einer Zahl akzeptieren und mit Kommas formatieren.

6voto

Abolfazl Rastgou Punkte 450
String.Format("0,###.###"); funktioniert auch mit Dezimalstellen

3voto

belal ahmad Punkte 29

Sie möchten den gleichen Formatwert und kulturspezifisch.

 Double value= 1234567;
 value.ToString("#,#.##", CultureInfo.CreateSpecificCulture("hi-IN"));

Ausgabe: 12,34,567

2 Stimmen

Dies ist sehr spezifisch für die indische Kultur, es wäre besser, eine allgemeinere Antwort zu verwenden.

3voto

dunwan Punkte 1467

Sie können eine Funktion wie diese verwenden, um Zahlen zu formatieren und optional die gewünschten Dezimalstellen anzugeben. Wenn Dezimalstellen nicht angegeben sind, werden zwei Dezimalstellen verwendet.

    public static string formatNumber(decimal valueIn=0, int decimalPlaces=2)
    {
        return string.Format("{0:n" + decimalPlaces.ToString() + "}", valueIn);
    }

Ich benutze Dezimalstellen, aber Sie können den Typ auf beliebige andere ändern oder ein anonymes Objekt verwenden. Sie können auch Fehlerprüfungen für negative Dezimalstellenwerte hinzufügen.

1voto

Yusuff Sodiq Punkte 385

Ich habe viele der oben genannten Vorschläge ausprobiert, aber die unten funktionieren für mich besser:

string.Format("{0:##,###.00}", myValue)

aber dies scheitert, wenn man Werte wie 0.2014 hat, wo es .21 ergibt. Dafür verwende ich

string.Format("{0:#,##0.00}", myValue)

CodeJaeger.com

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.

Powered by:

X