gpt4 book ai didi

python - 如何严格地将 float 转换为整数而不四舍五入?

转载 作者:太空狗 更新时间:2023-10-30 01:47:31 28 4
gpt4 key购买 nike

我希望找到一种方法来实现以下目标:对于 5.0,返回 5。对于不能等于任何整数的 5.1,返回 Error。

目前我将 int() 与“if integer != float”一起使用。然而,这有问题,例如我无法判断不平等是由 5.1 还是 1111111111111111.0(甚至更大的数字)之类引起的。

与潜在的、简单的单行命令相比,这也是非常麻烦的。那么 Python 中是否有执行此操作的命令?

最佳答案

Python 中的浮点对象有一个 is_integer() 谓词。

def strict_int(x):
if x.is_integer():
return int(x)
raise ValueError

请注意 int 对象没有有这个方法。如果您尝试在 int 上调用它,您将得到一个属性错误。


如果你想要一些错误值而不是异常,你可以使用这样的单行代码

int(x) if x.is_integer() else 'Error'

关于python - 如何严格地将 float 转换为整数而不四舍五入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57087563/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com