Maison >développement back-end >Tutoriel Python >Comment convertir une chaîne avec des virgules et des points en flottant en Python ?

Comment convertir une chaîne avec des virgules et des points en flottant en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-01 10:36:08343parcourir

How to Convert a String with Commas and Dots to a Float in Python?

Conversion d'une chaîne avec un point et une virgule en un flottant en Python

Problème

Comment pouvons-nous convertir une chaîne comme "123,456.908" dans un flottant comme 123456.908 en Python ?

Solution : Utiliser les services de localisation

Les services de localisation de Python nous permettent de gérer des paramètres spécifiques aux paramètres régionaux. conversions.

Les paramètres régionaux par défaut

Les paramètres régionaux par défaut utilisent un paramètre « C », qui ne tient pas compte des conventions de formatage régionales. Par conséquent, par défaut, atof(string):

  • Interprète les virgules comme séparateurs décimaux.
  • Ne gère pas les séparateurs de milliers.

Pour résoudre ce problème , nous devons définir explicitement les paramètres régionaux pour qu'ils correspondent à ceux des données origin.

Utilisation d'une langue de l'environnement

Nous pouvons utiliser setlocale(LC_ALL, '') pour lire les paramètres régionaux préférés de l'utilisateur à partir de l'environnement. Cela permet aux méthodes sensibles aux paramètres régionaux comme locale.atof de gérer correctement les séparateurs de milliers.

Définition explicite d'une langue locale

Nous pouvons également définir une langue spécifique en utilisant setlocale( LC_NUMERIC, locale_string). Cela permet le formatage et l'analyse localisés des nombres uniquement.

Caveats

La définition des paramètres régionaux peut affecter le comportement du programme de manière globale et n'est pas thread-safe. Cela doit être fait avec soin et parcimonie. Il est généralement préférable d'utiliser des bibliothèques d'internationalisation pour la gestion des données indépendantes des paramètres régionaux.

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