Python - 如何测试用户输入是否为十进制数

时间:2016-12-08 09:58:23

标签: python python-3.x variables input decimal

我正在编写一个程序,需要检查用户输入是否为十进制(用户输入必须是十进制数),我想知道如何测试变量以查看它是否只包含十进制数。 / p>

谢谢, 车夫也

6 个答案:

答案 0 :(得分:1)

您可以使用float.is_integer()方法 例: data = float(输入(“输入数字”))

if data.is_integer():
  print (str(int(data)) + ' is an integer')
else:
  print (str(data) + ' is not an integer')

答案 1 :(得分:1)

U也可以使用Try / Except检查变量是否为整数:

try:    
    val = int(userInput) 
except ValueError:    
    print("That's not an int!")

或浮动:

try:    
    val = float(userInput) 
except ValueError:    
    print("That's not an float!")

答案 2 :(得分:0)

(one)fast anwer

a=1
b=1.2
c=1.0
d="hello"

l=[a,b,c,d]

for i in l:
  if type(i) is float:
    print(i)

 #result : 1.0, 1.2

长答案:What's the canonical way to check for type in python?

答案 3 :(得分:0)

您可以使用isinstance

if isinstance(var, float):
    ...

答案 4 :(得分:0)

您可以通过转换为int来检查它:

    try:
       val = int(userInput)
    except ValueError:
       print("That's not an int!")

答案 5 :(得分:0)

我发现了一种在python中执行此操作的方法,但它不能在新的窗口/文件中工作。

>>> variable=5.5
>>> isinstance(variable, float)
True

>>> variable=5
>>> isinstance(variable, float)
False

我希望这会有所帮助。