所以在我的代码中我通常会将字符串转换为int,但我想知道是否有一种不那么笨拙的方式,因为它感觉有点长。
myInput = int(myInput)
也许这就是它必须如何,但如果你有任何想法,请提前感谢。
答案 0 :(得分:19)
鉴于您正在尝试将字符串转换为int,我建议您使用int
函数。
您的python代码如下所示:
myInput = int(myInput)
这个3个字母的功能可以在短时间内满足您的需求。实际上在Java等其他语言中,语法几乎是其两倍。
Java示例
int myIntInput = Integer.parseInt(myInput);
答案 1 :(得分:2)
也许你希望得到像myNumber = myInput.toInt
这样的东西。但目前无法在本地进行此操作。而且有趣的是,如果要从类似浮动的字符串中提取整数部分,则必须先转换为float
,然后转换为int
。或者你得到ValueError: invalid literal for int()
。
所以,这是一种强有力的方式:
myInput = int(float(myInput))
例如:
>>> nb="88.8"
>>> int(nb)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '88.8'
>>> int(float(nb))
88
答案 2 :(得分:1)
如果是用户输入,则可能是用户输入了字符串。因此,更好地捕捉到了异常以及使用try:
UserInput = '88.8'
try:
int(float(UserInput))
except:
UserInput = 0
print(UserInput)