Séparateur décimal d'entrée Double.TryParse () différent du séparateur décimal système
J'ai une source XML qui utilise un point (".") comme séparateur décimal, et je suis cette analyse sur un système qui utilise une virgule (",") comme séparateur décimal.
En conséquence, la valeur de 0,7 obtient analysé avec Double.TryParse
ou Double.Parse
comme 7000000.
Quelles sont mes options pour analyser correctement? L'un d'eux est de remplacer les points de suspension à la source par des virgules avec String.Replace('.', ',')
mais je ne pense pas que je l'aime beaucoup.
source d'informationauteur mare
Vous devez vous connecter pour publier un commentaire.
Norme XML est explicite quant à la mise en forme des dates et des chiffres, etc. Cela permet de s'assurer que le XML est indépendant de la plateforme et interopérables. Jetez un oeil à l'aide de XmlConvert pour les données xml.
Ce fait le travail:
double.TryParse
a une surcharge de prendre un IFormatProvider. Utiliser un correspondant CultureInfo, dans votre cas CultureInfo.InvariantCulture peut être utilisé.Moyen facile de personnaliser séparateur décimal: