假设我有一个字符串:
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,它可以截断您的数字。
