如何从格式化的数字中删除千位分隔符点

时间:2011-04-23 11:38:18

标签: python

如何从格式化的数字中删除点分隔符?我使用正则表达式从网站上获取列表:

a = [10.000, 20.000, 25.000]

如何将其更改为a = [10000, 20000, 25000]? (他们现在是整数。)

4 个答案:

答案 0 :(得分:9)

我假设你拥有的是字符串,因为你从网站上获得它们,它们应该是文本

>>> a=["10.000","20.000","25.000"]
>>> [ i.replace(".","") for i in a ]
['10000', '20000', '25000']

答案 1 :(得分:2)

使用替换为:

mystring.replace('.', '')

答案 2 :(得分:2)

如果您的计算机上定义的区域设置使用了千位分隔符的点,那么您可以使用locale.atoi

import locale
locale.setlocale(locale.LC_ALL, 'en_DK.utf8')
a=['10.000','20.000','25.000']
a=map(locale.atoi,a)
print(a)
# [10000, 20000, 25000]

要查看计算机上安装的区域设置(至少在unix上),请运行

locale -a

答案 3 :(得分:0)

在我看来,我会在将它们变成数字之前删除这些点。而不是int(num_in_string)执行此操作:int(num_in_string.replace('.', ''))