Pourquoi double.TryParse(“0.0000”, sur doubleValue) renvoie la valeur faux ?

Je suis en train d'analyser la chaîne "0.0000" avec double.TryParse() mais je n'ai aucune idée de pourquoi en serait-il de retour faux dans cet exemple particulier. Quand je passe la entier-comme des cordes par exemple, "5", il traite correctement la valeur de 5 .

Des idées pourquoi il se passe ?

  • il prendra les paramètres de localisation au moment de l'exécution en compte... peut-être que vous sont en cours d'exécution sur un système où . n'est pas le point décimal mais , à la place ?
  • Oui, cela pourrait être le cas, mais comment le résoudre ?
  • Vous suggère de faire une réponse (et inclure surcharge qui prend un IFormatProvider de sorte que la culture peut être spécifié).
  • Peut-être que vous avez choisi la mauvaise culture. TryParse utilise la culture actuelle par défaut. (Un idiot décision de l'OMI, mais il est maintenant trop tard pour le changer)
InformationsquelleAutor Patryk | 2011-12-11