Conversion de chaînes séparées par des virgules en nombres en Python
En guise d'introduction, l'analyse de chaînes séparées par des virgules en valeurs numériques est souvent rencontrée lors du traitement données provenant de diverses sources. Cependant, l'application directe des fonctions int() ou float() en Python peut entraîner des erreurs dues à la non-concordance entre le format de chaîne et la syntaxe numérique attendue.
Solution
Pour résoudre ce problème efficacement, Python propose une approche plus propre et plus intuitive en utilisant le module locale. Cette approche exploite les paramètres régionaux du système pour gérer de manière transparente les nombres séparés par des virgules.
import locale # Set the locale to 'en_US' (English United States) locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # Convert a comma-separated string to an integer result_int = locale.atoi('1,000,000') # Returns 1000000 # Convert a comma-separated string to a float result_float = locale.atof('1,000,000.53') # Returns 1000000.53
Dans ce code, définir les paramètres régionaux sur « en_US » garantit que les fonctions de la bibliothèque C atoi() et atof() interprètent les paramètres régionaux du système. chaîne séparée par des virgules correctement sous forme de nombres. L'entier (result_int) et le float (result_float) résultants sont désormais disponibles pour un traitement ultérieur sans qu'il soit nécessaire de supprimer manuellement les virgules.
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!