How to check if string input is a number?

Trufa picture Trufa · Mar 24, 2011 · Viewed 598.9k times · Source

How do I check if a user's string input is a number (e.g. -1, 0, 1, etc.)?

user_input = input("Enter something:")

if type(user_input) == int:
    print("Is a number")
else:
    print("Not a number")

The above won't work since input always returns a string.

Answer

Daniel DiPaolo picture Daniel DiPaolo · Mar 24, 2011

Simply try converting it to an int and then bailing out if it doesn't work.

try:
   val = int(userInput)
except ValueError:
   print("That's not an int!")