【发布时间】:2018-12-29 17:33:59
【问题描述】:
假设我有一个字符串:
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无效?
感谢和问候
【问题讨论】:
-
因为字符串中的值不是整型变量,而是
floating-point变量。 -
@Azhy 但是 float(temp) 中的值也是一个浮点变量
-
是的,但它在一个字符串中,当前不是浮点变量。
-
@Azhy Ahhh... 现在我明白了
标签: python type-conversion int