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 (eg 4.5) and the output would be (4).
i = input("Enter any value: ")
print(int(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")
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))
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.