Localización con separador decimal
-
21-08-2019 - |
Pregunta
¿Es posible que .NET utiliza en el servidor A '' como separador decimal y en otro servidor B ''? + ¿Cómo se puede detectar esto?
Al convertir cadenas de dobles, en el servidor A todo funciona bien, pero en el servidor B tenemos problemas.
Ejemplo:
Un servidor: 20,4 -> 20,4 el servidor B: 20,4 -> 204
Habría que detectar esta manera que en ambos servidores cosas seguir trabajando.
THX, Lieven Cardoen
Solución
Parece que la configuración regional está siendo ajustado correctamente en un servidor, pero no el otro.
Hay algunas maneras que usted puede hacer esto, pero es posible que desee establecer la configuración regional del subproceso actual en su página / ASP.NET aplicación mediante Thread.CurrentThread.CurrentCulture y Thread.CurrentThread.CurrentUICulture.
Para establecer esto para toda la aplicación, que haría esto en su web.config:
<configuration>
<system.web>
<globalization culture="en-US" uiCulture="en-US" />
...
Otros consejos
Yo uso
String.Format(System.Globalization.CultureInfo.InvariantCulture, ....)
en aquellos casos en los que no quieren tener salida específica cultura. (Por ejemplo, cuando se escribe serializar los datos para otras aplicaciones, etc.) De esta manera, no importa lo que la cultura está establecido actualmente, la salida siempre será la misma.