2017-01-24 6 views
1

私のコードでは、通常、文字列をintに変換するためにこれを行いますが、それほどややこしい方法があるかどうかは不思議でした。文字列をintに変換する短い方法Python 3

myInput = int(myInput) 

これはちょうどどのようなものでなければならないのでしょうか、もしあなたがアイデアがあれば、事前に感謝してください。

+0

'のSTR(myInput)は' '[文字列](HTTPSにmyInput'に変換されます。 org/3.3/library/functions.html#func-str)、同じ構文が 'myInput'を[int]に変換するのに使われます(https://docs.python.org/3.3/library/functions.html #int)、おそらくあなたは 'myInput = int(myInput)'を意味しますか? – davedwards

答えて

7

最初に、str関数は、変数の値を文字列に変換します。文字列をintに変換しようとしているので、int関数(https://docs.python.org/3/library/functions.html#int)を使用することをお勧めします。

myInput = int(myInput) 

この3文字の機能を使用すると、短い方法で必要なものを行います。

あなたのPythonのコードは次のようになります。実際にJavaのような他の言語では、構文はほぼ2倍長くなります。

int myIntInput = Integer.parseInt(myInput); 
+0

ええ、str() –

0

Javaの例は、たぶん、あなたはmyNumber = myInput.toIntのような何かを期待していました。しかし、それをネイティブに行うことは現時点では不可能です。浮動小数点型の文字列から整数部分を抽出する場合は、最初にfloatに、次にintに変換する必要があります。または、あなたはValueError: invalid literal for int()を得ることができます。 したがって、これはロバストな方法である:例えば

myInput = int(float(myInput)) 

://docs.python:

>>> 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 
関連する問題