2012-02-28 62 views
3

是否有內置的簡單方法將字符串轉換爲整數,字符串格式爲xxx,yyy,zzz?像325,121,565而不是325121565.我知道我可以建立一個這樣做的函數,但我想知道是否有其他人已經這樣做,以便我不會重新發明輪子。使用python讀取xxx,yyy,zzz形式的整數字符串

+0

1爲不想重新發明輪子 – 2012-02-28 00:51:13

+0

只要刪除使用'條( 「」)'逗號,然後創建的整數'VAL = INT(STR)'。 – prelic 2012-02-28 00:53:11

+2

'.strip()'不會刪除字符串的* middle *中的任何內容。 – kindall 2012-02-28 01:04:12

回答

9

設置適當的區域設置,然後使用locale.atoi()

>>> locale.setlocale(locale.LC_NUMERIC, 'en_US') 
'en_US' 
>>> locale.atoi('123,456,789') 
123456789 
+0

這適用於本地語言環境:locale.setlocale(locale.LC_ALL,'') – 01100110 2012-02-28 01:07:17

+0

有時候在Python中,你的本能是做一些快速和骯髒的事情(帶一個字符串並用空白替換所有的逗號,然後int結果),然後你會發現有一種方法可以提高一千億美元的優雅。這是其中的一次。 :) – 2012-02-28 05:28:08

+1

@亞當:感謝您飛行Guido的Time Machine,祝您有美好的一天。 – 2012-02-28 05:30:47

1
>>> import locale 
>>> locale.setlocale(locale.LC_ALL, '') 
'en_US.utf8' 
>>> locale.format("%d", 325121565, grouping=True) 
'325,121,565' 
相關問題