使用python读取以xxx,yyy,zzz形式表示的整数字符串

3
有没有一种内置的简单方法可以将一个格式为xxx,yyy,zzz的字符串转换为整数,比如325,121,565而不是325121565。我知道我可以构建一个函数来完成这个任务,但我想知道是否已经有人做过了,这样我就不用重新发明轮子了。

+1 不想重复造轮子 - Jim Garrison
只需使用 strip(",") 删除逗号,然后创建一个整数 val = int(str) - prelic
2
.strip() 不会删除字符串 中间 的任何内容。 - kindall
2个回答

9

设置适当的语言环境,然后使用locale.atoi()函数。

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

这适用于本地语言环境:locale.setlocale(locale.LC_ALL, '') - 01100110
你知道吗,有时候在Python中,你的本能反应是快速而粗略地处理某些事情(例如将一个字符串中的所有逗号替换为空格,然后将结果转换为整数),但随后你会发现有一种更加优雅的方法,效率可能高出数倍。这就是其中之一。 :) - Adam Parkin
1
@Adam:感谢您乘坐Guido的时间机器,祝您有美好的一天。 - Ignacio Vazquez-Abrams

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接