简体   繁体   中英

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 (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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM