Conversion de chaînes séparées par des virgules en nombres en Python
Lorsque vous rencontrez une chaîne représentant un nombre avec des virgules insérées comme milliers de séparateurs, convertissez-la en une valeur numérique peut présenter un défi. Tenter de convertir la chaîne directement en un entier à l'aide de int() entraînera une ValueError.
Au lieu de supprimer manuellement les virgules, une solution plus élégante consiste à utiliser le module locale en Python. En définissant les paramètres régionaux sur un format basé sur l'anglais, le module de paramètres régionaux permet d'analyser les nombres de manière appropriée.
Pour démontrer, importez le module de paramètres régionaux et définissez les paramètres régionaux sur en_US.UTF-8 :
import locale locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' )
Une fois les paramètres régionaux définis, les fonctions locale.atoi() et locale.atof() peuvent être utilisées pour convertir des chaînes séparées par des virgules en entiers et en virgule flottante. nombres, respectivement :
locale.atoi('1,000,000') # 1000000 locale.atof('1,000,000.53') # 1000000.53
En tirant parti du module locale, vous pouvez facilement convertir des chaînes avec des séparateurs de milliers séparés par des virgules en valeurs numériques en Python, sans interférer avec la chaîne d'origine.
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!