Синтаксический анализ Python разделенное от запятой число в интервал [дубликат]

Возможный дубликат:
Как я использую Python для преобразования строки в число, если он имеет запятые в нем как тысячи разделителей?

Как я проанализировал бы строку 1,000,000 (один миллион) в он - целочисленное значение в Python?

49
задан Community 23 May 2017 в 02:34
поделиться

3 ответа

>>> a = '1,000,000'
>>> int(a.replace(',', ''))
1000000
>>> 
92
ответ дан 7 November 2019 в 11:24
поделиться

Существует также простой способ сделать это, который также должен решить проблемы интернационализации:

>>> import locale
>>> locale.atoi("1,000,000")
1000000
>>> 

Я обнаружил, что сначала должен явно указать языковой стандарт, иначе это не сработает для меня и Вместо этого я получаю уродливую трассировку:

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'

Так что, если это случится с вами:

>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF8')
'en_US.UTF8'
>>> locale.atoi("1,000,000")
1000000
>>> 
36
ответ дан 7 November 2019 в 11:24
поделиться

Замените ',' на '', а затем приведите все к целому числу.

>>> int('1,000,000'.replace(',',''))
1000000
9
ответ дан 7 November 2019 в 11:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: