如何区分浮点数与整数(经过一些计算)的条件语句?



我有一些integers x,y,z;假设我在做a = (x+y)/z.

如果a是整数,我想写一些代码,如果a是浮点数(不是整数),我想写一些其他代码。

我该怎么做?因为据我所知,在完成上述计算后,a将自动成为浮点数-那么我如何编写一个条件来进行这种区分?

可以使用float.is_integer()

a = 2.0
print(a.is_integer()) # True
a = 2.5
print(a.is_integer()) # False

另一个选项是检查a是否等于int(a),强制转换将使浮点数向下舍入到最接近的int

a = 2.0
print(a == int(a)) # True
a = 2.5
print(a == int(a)) # False

最新更新