Convert any user input to int in Python

后端 未结 3 421
别跟我提以往
别跟我提以往 2021-01-29 06:12

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

相关标签:
3条回答
  • 2021-01-29 06:41

    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))
    
    0 讨论(0)
  • 2021-01-29 07:03

    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))
    
    0 讨论(0)
  • 2021-01-29 07:07

    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")
    
    0 讨论(0)
提交回复
热议问题