You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字符串转整数报错:ValueError: invalid literal for int() with base 10: '2,674'

解决带千位逗号的字符串转整数的ValueError问题

这个问题我之前也碰到过!你遇到的ValueError核心原因是字符串里的千位分隔符逗号——Python的int()函数只能识别纯数字字符串,没法处理带逗号的格式,所以'2,674'直接转int就会报错。

快速修复方案(最通用)

直接把数字字符串里的逗号去掉,再转换为整数,修改你的代码如下:

like1 = '2,674 likes'
# 拆分出数字部分后,替换掉逗号
number_str = like1.split()[0].replace(',', '')
number = int(number_str)
print('This is the number ::', number)

进阶方案(适配多区域数字格式)

如果你的业务需要处理不同地区的数字分隔符(比如欧洲用.做千位分隔),可以用Python的locale模块来解析:

import locale
# 设置为英文区域(支持千位逗号分隔)
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')

like1 = '2,674 likes'
number_str = like1.split()[0]
# 用locale的atoi方法解析带格式的数字字符串
number = locale.atoi(number_str)
print('This is the number ::', number)

⚠️ 注意:这种方法需要运行环境支持对应的区域设置,比如服务器上可能需要先安装对应的locale包,所以如果只是处理英文千位逗号,第一种方法更简单可靠。

业务场景适配

转成整数后,你就可以正常和其他整数(比如1000)做比较了,示例:

if number > 1000:
    print("这条内容的赞数超过1000啦!")
else:
    print("赞数还没到1000哦")

内容的提问来源于stack exchange,提问作者Shawn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:01:20