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
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))
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))
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")