web-dev-qa-db-ja.com

文字列をint Python 3に変換する簡単な方法

したがって、私のコードでは、通常、文字列をintに変換するためにこれを行いますが、少し不格好な方法があるのではないかと思っていました。

myInput = str(myInput)

たぶん、これがどうあるべきか?

14
Sam Banks

文字列をintに変換しようとしている場合、 int 関数を使用することをお勧めします。

pythonコードは次のようになります。

myInput = int(myInput)

この3文字の関数は、必要なことを短時間で行います。実際、Javaのような他の言語では、構文はほぼ2倍の長さです。

Javaの例

int myIntInput = Integer.parseInt(myInput);
22
Gonzalo

たぶん、あなたは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
biocyberman

ユーザー入力の場合、ユーザーが文字列を入力した可能性があります。したがって、tryを使用して例外をキャッチすることをお勧めします。

UserInput = '88.8'
try:
    int(float(UserInput))
except:
    UserInput = 0
print(UserInput)
1
Jan Meeuwissen