Cela me rend fou. J'ai la chaîne suivante dans un WebForm ASP.NET 2.0 PageDouble.Parse - Problème d'internationalisation
string s = "0.009";
Assez simple. Maintenant, si ma culture est l'espagnol - qui est « es-ES » - et j'essaie de convertir la chaîne en double, je fais ce qui suit:
double d = Double.Parse(s, new CultureInfo("es-ES"));
ce que je pense est 0009. Au lieu de cela, je comprends 9. Je comprends que .NET pense que c'est un séparateur de milliers, qui dans en-US est une virgule, mais ne devrait pas prendre l'information de culture que je passe à la méthode d'analyse et appliquer le format correct La conversion?
Si je
double d = 0.009D;
string formatted = d.ToString(new CultureInfo("es-ES"));
formaté est maintenant 0009. N'importe qui?
Plus de détails à ce sujet et beaucoup d'autres problèmes avec la localisation comme http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html –