我有一个字符串,它表示一个用逗号分隔数千的数字。如何在python中将其转换为数字?
>>> int("1,000,000")
生成ValueError
。
在尝试转换逗号之前,我可以用空字符串替换逗号,但不知何故感觉这是错误的。有没有更好的方法?
发布于 2009-11-23 01:20:11
import locale
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' )
locale.atoi('1,000,000')
# 1000000
locale.atof('1,000,000.53')
# 1000000.53
发布于 2013-04-19 03:48:43
将逗号替换为空字符串,并将结果字符串转换为int
或float
。
>>> a = '1,000,000'
>>> int(a.replace(',' , ''))
1000000
>>> float(a.replace(',' , ''))
1000000.0
发布于 2012-10-05 20:15:20
我从接受的答案中得到了区域设置错误,但以下更改适用于芬兰(Windows XP):
import locale
locale.setlocale( locale.LC_ALL, 'english_USA' )
print locale.atoi('1,000,000')
# 1000000
print locale.atof('1,000,000.53')
# 1000000.53
https://stackoverflow.com/questions/1779288
复制相似问题