web-dev-qa-db-fra.com

Configurer le point au lieu de la virgule dans les valeurs numériques

J'ai un nouvel objet XmlDocument, par exemple. xml est créé pendant mon programme ...

Je veux que toutes les valeurs numériques dans le xml créé soient avec un symbole de point au lieu d'une virgule par défaut.

Puis-je faire quelque chose pour le déclarer une fois, pas pour analyser chaque valeur décimale?

C'est à dire. Pour configurer ce point au lieu de la virgule quelque part au début et ne vous inquiétez pas de cela jusqu'à la fin?

47
Ksice

Essaye ça:

System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";

System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
93
bang

Vous pouvez utiliser value.ToString(CultureInfo.InvariantCulture) pour convertir vos valeurs numériques en chaînes. Ou vous pouvez changer globalement la culture actuelle en une culture qui utilise le point comme séparateur décimal:

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
21
Thomas Levesque

Utilisez Decimal.ToString (..) avec System.Globalization.CultureInfo.InvariantCulture comme un paramètre appliqué.

ou si vous voulez le faire globalement, utilisez

CurrentCulture pour définir toujours Invariant one, en utilisant la propriété Applicaton.CurrentCulture .

9
Tigran