如何将带有符号整数值的字符串转换为有符号整数?

时间:2012-03-01 13:06:41

标签: python type-conversion

我正在使用int(myString),myString =“ - 1”,我收到错误:

ValueError: invalid literal for int() with base 10: '"-1"'

5 个答案:

答案 0 :(得分:10)

该字符串包含引号,即

s = '"-1"'

你需要摆脱引号,比如

s = '"-1"'
int(s.replace('"', ''))

应该这样做。

答案 1 :(得分:2)

您确定字符串看起来不像"'-1'"而不是"-1"

a = "'-1'"
print int(a)
>>> ValueError: invalid literal for int() with base 10: '"-1"'

a = "-1"
print int(a)
>>> -1

答案 2 :(得分:1)

In [2]: int(eval('"-1"'))
Out[2]: -1

答案 3 :(得分:1)

>>> int("-1")
-1

>>> int('"-1"')

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

>>> '"-1"'.strip('\"')
'-1'

答案 4 :(得分:1)

str.strip方法接受字符。您可以使用它来摆脱周围的引号:

>>> int('"-1"'.strip('"'))
-1
>>>