首页 > 解决方案 > 如何区分条件语句的浮点数和整数(经过一些计算)?

问题描述

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

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

我怎样才能做到这一点?因为据我了解,做完上面的计算后,a会自动变成float-那我怎么写一个条件来做这个区分呢?

标签: pythoninteger

解决方案


您可以使用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

推荐阅读