Maison >développement back-end >C++ >Comment puis-je analyser de manière fiable les cordes décimales spécifiques aux paramètres régionaux pour doubler en C #?

Comment puis-je analyser de manière fiable les cordes décimales spécifiques aux paramètres régionaux pour doubler en C #?

Barbara Streisand
Barbara Streisandoriginal
2025-01-28 01:51:09823parcourir

How Can I Reliably Parse Locale-Specific Decimal Strings to Doubles in C#?

Gestion robuste des nombres décimaux spécifiques aux paramètres régionaux en C#

L'analyse de chaînes décimales en doubles en C# peut être délicate en raison des différentes conventions locales. La méthode double.Parse(), bien que pratique, s'appuie sur la culture actuelle du système, ce qui entraîne des erreurs potentielles.

Par exemple, l'analyse de "3,5" pourrait donner 35 au lieu de 3,5 si la culture du système utilise une virgule comme séparateur décimal. De même, l'utilisation de double.Parse("3.5", System.Globalization.NumberStyles.AllowDecimalPoint) peut échouer avec un FormatException si la culture attend un séparateur différent.

La solution réside dans l'utilisation de CultureInfo.InvariantCulture. Cette culture fournit un format cohérent et indépendant des paramètres régionaux, garantissant une interprétation correcte quels que soient les paramètres du système.

Voici comment analyser de manière fiable :

<code class="language-csharp">double.Parse("3.5", CultureInfo.InvariantCulture);</code>

Cette approche garantit que le point décimal est toujours interprété correctement, fournissant ainsi une solution robuste pour gérer les chaînes décimales spécifiques aux paramètres régionaux. Cette technique est cruciale pour les applications traitant des données provenant de sources diverses ou d'utilisateurs internationaux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn