Localização com separador decimal
-
21-08-2019 - |
Pergunta
É possível que os usos .NET no servidor a '' como separador decimal e em outro servidor B ''? + Como você pode detectar isso?
Ao converter strings para duplas, no servidor A tudo bem funciona, mas no servidor B temos problemas.
Exemplo:
Um servidor: 20,4 -> 20,4 servidor B: 20,4 -> 204
Seria preciso detectar isso para que em ambos os servidores coisas continuar a trabalhar.
thx, Lieven Cardoen
Solução
Parece que o local está sendo definido corretamente em um servidor, mas não o outro.
Existem algumas maneiras que você poderia fazer isso, mas você pode querer definir a localidade para o segmento atual em sua página App / ASP.NET usando Thread.CurrentThread.CurrentCulture e Thread.CurrentThread.CurrentUICulture.
Para definir isso para todo o aplicativo, você faria isso no seu web.config:
<configuration>
<system.web>
<globalization culture="en-US" uiCulture="en-US" />
...
Outras dicas
Eu uso
String.Format(System.Globalization.CultureInfo.InvariantCulture, ....)
nos casos em que você não quer ter saída de cultura específica. (Por exemplo, quando você gravar dados serialize para outras aplicações etc.) Desta forma, não importa o que Cultura está definido, a saída será sempre o mesmo.