Lokalisierung mit Dezimaltrennzeichen
-
21-08-2019 - |
Frage
Ist es möglich, dass .NET verwendet, um auf Server A ‚‘ als Dezimalzeichen und auf einem anderen Server B ‚‘? + Wie kann man erkennen, das?
Wenn Strings verdoppelt Konvertierung auf Server A alles funktioniert gut, aber auf dem Server B haben wir Probleme.
Beispiel:
Server A: 20,4 -> 20.4 Server B: 20,4 -> 204
Wir müssten dies erkennen, so dass auf beiden Servern Dinge weiter arbeiten.
thx, Lieven Cardoen
Lösung
Klingt wie das Gebietsschema korrekt auf einem Server festgelegt wird, aber nicht die andere.
Es gibt ein paar Möglichkeiten, wie Sie dies tun könnte, aber Sie könnten das Gebietsschema für den aktuellen Thread in Ihrer App / ASP.NET-Seite mit Thread.CurrentThread.CurrentCulture und Thread.CurrentThread.CurrentUICulture festlegen möchten.
dies für die gesamte Anwendung zu setzen, würden Sie tun dies in Ihrer web.config:
<configuration>
<system.web>
<globalization culture="en-US" uiCulture="en-US" />
...
Andere Tipps
ich
String.Format(System.Globalization.CultureInfo.InvariantCulture, ....)
in jenen Fällen, in denen Sie nicht möchten, Kultur spezifische Leistung haben. (Zum Beispiel, wenn Sie für andere Anwendungen usw. serialisiert Daten schreiben) Auf diese Weise, egal welche Kultur zur Zeit eingestellt ist, wird immer der Ausgang gleich sein.