Format-Nummer mit 3 abschließenden Dezimalstellen, einem Dezimal-Tausender-Trennzeichen und Kommas danach

8

Dies ist wahrscheinlich eine einfache Frage, und ich bin mir sicher, dass es eine Möglichkeit gibt, dies mit string.format() , NumberFormatInfo , CultureInfo oder einer Kombination davon zu tun, aber ich muss große numerische Werte mit 3 trailing anzeigen Dezimalstellen, ein Dezimaltrennzeichen anstelle eines Kommas für das Tausendertrennzeichen und dann ein Komma für das Millionentrennzeichen und höher.

Die Eingabe ist entweder eine ganze Zahl oder eine Zahl gefolgt von bis zu drei Dezimalstellen (20000, 123.456, 12.2)

Zum Beispiel:

142650 sollte als 142.650.000

angezeigt werden

11200.50 sollte als 11.200.500

angezeigt werden

123.456 sollte 123.456 bleiben

Ich nehme an, es ist das gleiche wie den Wert durch 1000 zu teilen und dann string.format("{0:f3}", value) zu verwenden, aber ich hatte gehofft, etwas zu finden, das nicht arithmetisch ist.

String.Format("{0:#,#.000}", value) bringt mich näher, aber es setzt eine führende 0 auf kleine Zahlen, also 1.256 wird als 01.256 angezeigt, wenn ich es brauche, um nur 1.256 zu bleiben

    
Brett 09.05.2013, 16:32
quelle

1 Antwort

11

Das Format String.Format("{0:#,0.000}", value) hat es letztendlich für mich getan. Es funktioniert für ganze Zahlen und Zahlen mit 1 bis 3 Dezimalstellen.

    
Brett 16.05.2013, 14:27
quelle