检查一个数字是整数还是浮点数。

44 浏览
0 Comments

检查一个数字是整数还是浮点数。

这个问题在这里已经有了答案:

Python检查类型的规范方法是什么?

这是我的做法:

inNumber = somenumber
inNumberint = int(inNumber)
if inNumber == inNumberint:
    print "this number is an int"
else:
    print "this number is a float"

就是这个样子。

有没有更好看的方法?

admin 更改状态以发布 2023年5月22日
0
0 Comments

我最喜欢 @ninjagecko 的答案。

这也可以:

对于Python 2.x

isinstance(n, (int, long, float)) 

Python 3.x没有 long

isinstance(n, (int, float))

对于复数也有类型complex

0
0 Comments

使用isinstance

>>> x = 12
>>> isinstance(x, int)
True
>>> y = 12.0
>>> isinstance(y, float)
True

所以:

>>> if isinstance(x, int):
        print('x is a int!')
x is a int!

在长整型的情况下,上面的方法不起作用。所以你需要这么做:

>>> x = 12L
>>> import numbers
>>> isinstance(x, numbers.Integral)
True
>>> isinstance(x, int)
False

0