python - 如何区分条件语句的浮点数和整数(经过一些计算)?
问题描述
我有一些integers x,y,z
;假设我在做a = (x+y)/z.
如果是整数,我想写一些代码,如果是浮点数(不是a
整数),我想写一些其他代码。a
我怎样才能做到这一点?因为据我了解,做完上面的计算后,a
会自动变成float-那我怎么写一个条件来做这个区分呢?
解决方案
您可以使用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
推荐阅读
- c# - 如何用我所有应用程序的随机类替换实现中的 dotnet core System.Random?
- python-3.x - PyMongo $set/update 中的错字导致 TypeError: unhashable type: 'dict'
- linux - Docker 绑定源路径不存在,即使它存在
- android - 在适用于 Android 的 AWS Cognito 中记住设备
- cucumber - 柏树黄瓜错误步骤实现缺少:给定用户签出具有角色TestRole和auth testAut的用户
- cuda - Cuda _sync 函数,如何处理未知的线程掩码?
- python - 如何将 Pandas DataFrames 与行复制合并?
- django - 当空属性和空白属性设置为 True 时,在 DateField 列中获取空值的完整性和 NotNull 错误
- javascript - 如何解决: express-session 已弃用 maxAge 作为 Date;而是传递毫秒数
- android - kotlinx.android.synthetic 在 DialogFragment 中返回 null