web-dev-qa-db-ger.com

Wie füge ich ein Tausendertrennzeichen (Komma) mit Doppelwandler ein

Ich versuche, den Inhalt eines Textfelds zu formatieren:

this.lblSearchResults1.Text =
    Convert.ToDouble(lblSearchResults1.Text).ToString(); 

Wie ändere ich das so, dass der Text ein Komma/Tausendertrennzeichen enthält?

1000 anstelle von 1000.

40
Ricardo Deano

Verwenden Sie zur vollständigen benutzerdefinierten Steuerung ... .ToString("#,##0.00") oder Variationen davon. . und , werden durch kulturabhängige Symbole ersetzt. In den meisten Ländern Europas würden Sie 1.234,56 erhalten.
Ein weiteres nützliches Bild ist 0.0#.

Verwenden Sie zum Verwenden eines Musters abhängig von der Kultur der Benutzer (oder einer ausgewählten Kultur) den Formatbezeichner Numeric ("N") , wie in .ToString("N") oder "... {0:N}".

50
Henk Holterman

Betrachten der Standardzeichenfolgen für numerische Formate :

Sie können am einfachsten "N" verwenden, das je nach Benutzerkultur das Richtige tut. In Ihrem Fall können Sie dem ToString einfach "N" als Parameter hinzufügen

([double]12345.67).ToString("N")

12.345,67

68
James Manning

Wenn Sie sich Standard Numeric Format Strings genauer ansehen, können Sie einen der folgenden Schritte ausführen:

.ToString("n", CultureInfo.GetCultureInfo("en-US"))
.ToString("n", CultureInfo.GetCultureInfo("de-DE"))
.ToString("n", CultureInfo.CurrentCulture)
5
Oliver

Eine Alternative zu den oben genannten Antworten wäre die Verwendung 

this.lblSearchResults1.Text = String.Format("{0:N}", Convert.ToDouble(lblSearchResults1.Text))

Wenn Sie Dezimalstellen wünschen, geben Sie einfach die gewünschte Anzahl Dezimalstellen nach dem N ein. Das folgende Beispiel gibt den Wert mit 2 Dezimalstellen zurück.

this.lblSearchResults1.Text = String.Format("{0:N2}", Convert.ToDouble(lblSearchResults1.Text))

Weitere Informationen finden Sie unter http://msdn.Microsoft.com/de-de/library/system.string.format.aspx .

5
Duu82

Der einfachste Weg, dies zu tun, wäre etwa so:

Convert.ToDouble("1234567.12345").ToString("N")

Wenn Sie die Dezimalstellen steuern möchten, können Sie Folgendes tun:

Convert.ToDouble("1234567.12345").ToString("N3")

In der Regel finden Sie die Überlastungen von ToString für weitere aufregende Möglichkeiten.

0
Chris