Maison >développement back-end >Tutoriel Python >Comment convertir en toute sécurité des numéros de chaîne spécifiques aux paramètres régionaux en flottants en Python ?

Comment convertir en toute sécurité des numéros de chaîne spécifiques aux paramètres régionaux en flottants en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 07:52:09948parcourir

How to Safely Convert Locale-Specific String Numbers to Floats in Python?

Comment convertir une chaîne avec un point et une virgule en flottant en Python

À l'aide des services de localisation

Paramètres régionaux par défaut

Le module de paramètres régionaux Python offre une interface pour la localisation basée sur C routines.

import locale
locale.atof('123,456.908')

Cependant, cette approche nécessite de définir explicitement les paramètres régionaux pour qu'ils correspondent aux paramètres de la plate-forme :

locale.setlocale(locale.LC_ALL, '')

Locale de l'environnement

Vous pouvez également obtenir les paramètres régionaux à partir de l'environnement :

locale.setlocale(locale.LC_ALL, "")
locale.atof("123,456.908")

Paramètres régionaux explicites Paramètre

Vous pouvez également spécifier un paramètre régional spécifique par son nom :

locale.setlocale(locale.LC_NUMERIC, 'en_DK.UTF-8')
locale.atof('123,456.789') # Returns 123.456789 with period as thousands separator

Mises en garde

La définition globale des paramètres régionaux affecte l'ensemble du programme et doit être effectuée avec prudence . Les modules d'extension ne doivent pas appeler setlocale().

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