3

我在 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

4

2 回答 2

5

repr(val)u'"1"'

这意味着您没有转换1,您正在尝试转换"1"(即字符串引号,1,引号)。这不是一个有效的整数文字。

去掉引号:

int(val.strip('"'))
于 2013-09-27T08:32:23.977 回答
5

我已经尝试了所有上面的解决方案,但它只是不起作用。相反,对我来说它有效:

val = "15.1234"
int(float(str(val)))

结果

>>15
于 2014-12-19T08:25:01.417 回答