Question

Est-il possible que .NET utilise sur le serveur A « » comme séparateur décimal et sur un autre serveur B « »? + Comment pouvez-vous détecter ce?

Lors de la conversion des chaînes à double, sur le serveur A tout fonctionne bien, mais sur le serveur B nous avons des problèmes.

Exemple:

serveur

A: 20,4 -> 20.4 serveur B: 20,4 -> 204

Il faudrait détecter cela pour que les choses sur les deux serveurs continuent à travailler.

thx, Lieven Cardoen

Était-ce utile?

La solution

On dirait que les paramètres régionaux est définie correctement sur un serveur, mais pas l'autre.

Il y a quelques façons dont vous pouvez le faire, mais vous voudrez peut-être définir les paramètres régionaux pour le thread en cours dans votre page App / ASP.NET à l'aide Thread.CurrentThread.CurrentCulture et Thread.CurrentThread.CurrentUICulture.

Pour définir ce pour toute l'application, vous feriez dans votre web.config:

<configuration>
  <system.web>
    <globalization culture="en-US" uiCulture="en-US" />
...

Autres conseils

J'utilise

String.Format(System.Globalization.CultureInfo.InvariantCulture, ....)

dans les cas où vous ne voulez pas avoir la sortie spécifique de culture. (Par exemple, lorsque vous écrivez des données sérialisation pour d'autres applications, etc.) De cette façon, peu importe ce que la culture est actuellement définie, la sortie sera toujours le même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top