80

重複の可能性:
Python を使用して文字列を数字に変換する方法

1,000,000Python で文字列 (100 万) を整数値に解析するにはどうすればよいですか?

4

3 に答える 3

138
>>> a = '1,000,000'
>>> int(a.replace(',', ''))
1000000
>>> 
于 2010-06-01T22:13:38.547 に答える
52

国際化の問題も処理する必要がある、これを行う簡単な方法もあります。

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
'en_US.UTF-8'
>>> 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'
于 2010-06-02T00:21:09.407 に答える
11

「,」を「」に置き換えてから、全体を整数にキャストします。

>>> int('1,000,000'.replace(',',''))
1000000
于 2010-06-01T22:14:10.100 に答える