Skip to main content
 首页 » 编程设计

python之为什么 int(float(str)) 工作但 int(str) 不工作

2025年05月04日10lautakyan007

假设我有一个字符串:

temp = "0.1" 

当我运行 int(temp) 时:

我收到以下错误:

Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: '0.1' 

但是当我运行 int(float(temp)) 时:

我得到了正确的输出,即 0


为什么转换为float然后转换为int可以,而直接转换为int不行?

感谢和问候

请您参考如下方法:

这是因为你的字符串是float格式。所以当你直接将“0.1”转换为int时,它会返回一个错误。但是,如果您转换为 float,然后转换为 int,它可以截断您的数字。