无法将字符串转换为 int - Python

Unable to convert a string into int - Python

我正在尝试将字符串转换为整数,如下所示:

money = "3,852.06"
original_amount = money[1:]
print(int(original_amount))

这里我必须对 'money' 变量进行切片,这样我才能得到准确的数字。

为此我收到此错误:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
ValueError: invalid literal for int() with base 10: '163,852.06'

有人可以帮我解决这个问题吗?

您的代码有两个问题:

  1. 您的号码中有一个逗号 - Python 不会将其解释为号码的有效部分。

  2. 您正在对表示浮点数的字符串应用 int() 转换 - 它具有小数部分。

这两个问题都解决了,

money = "3,852.06"
original_amount = ('').join(money[1:].split(','))
print(int(float(original_amount)))

代码用逗号拆分数字,然后立即将其连接成一个新的整体 - 这也适用于多个逗号。

然后它首先将字符串转换为浮点数,并使用该浮点数获取最终整数。