首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果字符串中有逗号作为千位分隔符,如何将其转换为数字?

如果字符串中有逗号作为千位分隔符,如何将其转换为数字?
EN

Stack Overflow用户
提问于 2009-11-23 01:10:49
回答 7查看 54.3K关注 0票数 93

我有一个字符串,它表示一个用逗号分隔数千的数字。如何在python中将其转换为数字?

>>> int("1,000,000")

生成ValueError

在尝试转换逗号之前,我可以用空字符串替换逗号,但不知何故感觉这是错误的。有没有更好的方法?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 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
票数 112
EN

Stack Overflow用户

发布于 2013-04-19 03:48:43

将逗号替换为空字符串,并将结果字符串转换为intfloat

>>> a = '1,000,000'
>>> int(a.replace(',' , ''))
1000000
>>> float(a.replace(',' , ''))
1000000.0
票数 17
EN

Stack Overflow用户

发布于 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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1779288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档