2009-04-21 8 views
0

Dans mon application, j'analyse une valeur de xml (chaîne) en double. La valeur dans le fichier XML se trouve avoir le point comme séparateur de fraction alors que le système prend les paramètres système en cours et peut avoir un séparateur différent (le système dev prend la virgule par exemple).Récupère le séparateur de fraction du paramètre système actuel

Y at-il un moyen de dire double.TryParse() le point est le séparateur de fraction?
Dois-je remplacer manuellement le point par le séparateur de fractions du système? Si oui, comment l'obtenir?

Répondre

1

passe CultureInfo.InvariantCulture en double.TryParse:

double value; 
bool success = double.TryParse(text, NumberStyles.Float, 
           CultureInfo.InvariantCulture, 
           out value); 

(Pour la mise en forme XML véritablement standard, la suggestion de Frederik d'utiliser XmlConvert est la meilleure idée cependant.)

2

Ce que vous devez faire, dans cette situation, est l'utilisation la classe XmlConvert et ses membres pour convertir la valeur telle qu'elle existe dans le fichier XML en une variable régulière. :)

+0

Je ne savais pas qu'une telle chose existait. Et pourquoi cette classe est-elle meilleure que double.trypars()? Je comprends que cela peut être utile quand il y a des caractères spéciaux impliqués. Mais il n'y a pas de tryparse autant que je puisse voir. –

Questions connexes