Skip to content Skip to sidebar Skip to footer

Convert Any User Input To Int In Python

I need to convert user input to int. Below is what I have written so far which is not working out. It only accepts int. the end goal is to have a user inputs float (e.g 4.5) and th

Solution 1:

int accepts integer string or a float but cannot handle float strings. So convert to float first and then convert to integer. If the input is invalid format, int(i) would raise ValueError exception, so you can use it to handle invalid inputs.

i = input("Enter any value: ")

try:
  print(float(int(i))
except ValueError:
  print("Please enter a number")

Solution 2:

The input are in string format so first you need to convert it into float and then from float to int

You can do

i = input("Enter any value: ")

print(int(float(i)))

or you can do

i = float(input("Enter any value: "))

print(int(i))

Solution 3:

Apart from the other answers, you can use round() function:

i = input("Enter any value: ")
print(round(i))

But if you want to simply cut the decimal part, you can use math lib and floor():

import math
i = input("Enter any value: ")
print(math.floor(i))

Post a Comment for "Convert Any User Input To Int In Python"