我在Python中获得int()的无效文字,但它真的很奇怪,因为文字是“1”。当然,如果我尝试使用IPython int(“1”)或int(u“1”),我没有错误,但在我自己的代码中,相同的指令会出错。
try:
VimsLog().debug("val = %s" % val)
int(val)
except Exception, e:
VimsLog().debug(e)
VimsLog().debug("I am died")
return val
其中
e=invalid literal for int(): "1"
出于兼容性原因,我正在使用Python 2.4
答案 0 :(得分:5)
repr(val)
提供u'"1"'
这意味着您没有转换1
,而是尝试转换"1"
(即字符串引号,1,引用)。这不是一个有效的整数文字。
删除引号:
int(val.strip('"'))
答案 1 :(得分:4)
我已尝试过所有上层解决方案,但它只是不起作用。 相反,对我而言,它起作用了:
val = "15.1234"
int(float(str(val)))
结果
>>15