2010-03-04 6 views
7

Wenn ich die folgenden haben:Putting Kommata in einem Dezimal

MyString.ValueType = typeof(System.Decimal); 

Wie kann ich dies mit Komma eine Ausgabe von Dezimalzahlen haben? Mit anderen Worten, anstatt 1.234,5 sehen möchte Ich mag 1,234.5

Antwort

16

Verwenden sehen:

String output = MyString.ValueType.ToString("N"); 

Das "N" Formatbezeichner in den Tausendertrennzeichen gesetzt wird (,). Einzelheiten finden Sie unter Decimal.ToString(string).

Edit:

Die oben Ihre aktuellen Kultureinstellungen verwenden, so dass die Tausendertrennzeichen auf dem aktuellen Gebietsschema ab. Allerdings, wenn Sie wollen, dass es immer Komma verwenden, und Zeit für das Dezimalzeichen können Sie tun:

String output = MyString.ValueType.ToString("N", CultureInfo.InvariantCulture); 

Das es dazu zwingt, den InvariantCulture zu verwenden, die durch Komma für Tausende und Zeit für Dezimaltrennung verwendet, die bedeutet, dass Sie immer "1.234.5" sehen werden.

+0

Das Tausendertrennzeichen, das tatsächlich verwendet wird, wird kulturabhängig sein. –

+0

Ja. Deshalb habe ich es "Tausendertrennzeichen" genannt, anstatt nur ein Komma zu sagen - aber das ist typischerweise der "richtige" Ansatz. Ich werde bearbeiten, um zu klären ... –

+0

@ João Angelo: Sieh besser aus? –