以10为底的int()无效文字:“ 2,674”

时间:2019-06-09 08:00:23

标签: python integer

无法将字符串转换为整数。出现错误:

  

ValueError:以10为底的int()无效文字:'2674'

我已经阅读了许多答案,其中大多数不起作用的原因是因为它是一个浮点数,并且人们使用int(),但在这里显然是整数。

like1 = '2,674 likes'
number = int(like1.split()[0])
print('This is the numer ::',number)

我希望代码能正常运行并打印出数字。我的实际实现是将其与整数进行比较。例如。数字> 1000,但这引发了您无法比较字符串和整数的错误,因此我想将其修改为整数。我不想发布该代码,因为它又大又乱。

如果我错过了必填信息,请要求澄清!

1 个答案:

答案 0 :(得分:1)

您的问题是2,674中的逗号。某些位置将其用作小数点,但您的位置却没有,因此您希望它以整数分隔三位数字的组。 Python不会以这种方式使用它。

因此,请删除逗号或将其更改为下划线_,Python的最新版本允许使用整数。由于我不知道您使用的Python版本,因此建议您删除逗号。使用这个:

number = int(like1.split()[0].replace(',', ''))

顺便说一句,您在问题顶部显示的错误消息不是实际的错误消息。实际消息在字符串中显示逗号:

  

ValueError:以10为底的int()无效文字:'2,674'

如果您继续在本网站上提问,请确保显示实际错误。实际上,您应该复制并粘贴整个回溯,而不仅仅是最后一行。这将帮助我们正确理解您的问题并为您提供帮助。