2009-06-26 7 views
0

Ich habe eine .NET-Anwendung in mehreren verschiedenen Sprachen verfügbar. Im Grunde lade und speichere ich eine Datei (mit Doppelpunkten) in der System Culture, aber ich möchte erzwingen, dass Zahlen immer im US-Kulturformat angezeigt und eingegeben werden (Komma als Zifferngruppierung, Punkt als Dezimaltrennzeichen). Ich habe versucht, die Anwendung Kultur zu überschreiben, aber es scheint nicht zu funktionieren. Gibt es eine Möglichkeit, damit umzugehen?das Überschreiben von NumberFormat in .net-Anwendung cultureInfo

Antwort

1

CultureInfo.InvariantCulture existiert für den speziellen Zweck der Persistenz von Daten in einem einheitlichen Format. More Info on MSDN

Für die UI, wenn Sie wirklich alle Formatierungen wollen US-Stil sein, können Sie dies tun:

Application.CurrentCulture = new CultureInfo("en-US"); 

Beachten Sie, dass die Kultur auf jedem Thread setzen müssen.

+0

Würde es die Benutzeroberfläche brechen, wenn ich Application.CultureInfo = InvariantCulture? – ak3nat0n

+1

Ich vermute ich habe dich missverstanden. Der Zweck von InvariantCulture wäre, die Doubles kulturunabhängig zu speichern. Es sollte nicht für die Benutzeroberfläche verwendet werden. Dazu würde ich Application.CurrentCulture = new CultureInfo ("en-US") setzen. – dahlbyk