Wie setze ich CurrencySymbol auf Readonly CultureInfo.NumberFormat?

8

Ich versuche eine Währung (Schweizer Franken - de-CH) mit einem Symbol (CHF) zu formatieren, das anders ist als die Standard-.Net-Kultur (SFr.). Das Problem ist, dass das NumberFormat für die Kultur ReadOnly ist.

Gibt es einen einfachen Weg, um dieses Problem mit CultureInfo und NumberFormat zu lösen? Gibt es eine Möglichkeit, das CurrencySymbol zu überschreiben?

Beispiel: Dim newCInfo als CultureInfo = CultureInfo.GetCultureInfo (2055) newCInfo.NumberFormat.CurrencySymbol="CHF" MyCurrencyText.Text = x.ToString ("c", newCInfo)

Dies wird beim Festlegen des NumberFormat.CurrencySymbols fehlschlagen, weil NumberFormat ReadOnly ist.

Danke!

    
sugarcrum 04.06.2009, 16:37
quelle

1 Antwort

12

Rufen Sie Clone für CultureInfo auf, wodurch eine änderbare Version erstellt wird, und legen Sie das Währungssymbol fest.

Sie könnten genauer sein: Holen Sie NumberFormatInfo und klonen Sie nur das. Es ist etwas eleganter, IMO, es sei denn, Sie müssen etwas anderes in der Kultur ändern.

Beispiel in C #:

%Vor%     
Jon Skeet 04.06.2009, 16:40
quelle