Comment analyserais-je la chaîne 1,000,000
(un million) dans sa valeur entière en Python ?
Cette question a déjà des réponses:
Réponses
Trop de publicités?
Khorkrak
Points
2009
Il existe également un moyen simple de le faire qui devrait également traiter les problèmes d'internationalisation :
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
'en_US.UTF-8'
>>> locale.atoi("1,000,000")
1000000
>>>
J'ai trouvé que je devais d'abord définir explicitement le paramètre régional comme ci-dessus, sinon ça ne marche pas pour moi et je finis par avoir une trace vilaine à la place :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/locale.py", line 296, in atoi
return atof(str, int)
File "/usr/lib/python2.6/locale.py", line 292, in atof
return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
jathanism
Points
15208