您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

检查float是否等效于python中的整数

检查float是否等效于python中的整数

您将要做后者。在 Python 3编程中, 给出以下示例作为比较的最准确方法

def equal_float(a, b):
    #return abs(a - b) <= sys.float_info.epsilon
    return abs(a - b) <= chosen_value #see edit below for more info

另外,由于epsilon是“机器可以区分两个浮点数的最小差异”,因此您需要在函数中使用<=。

:阅读下面的评论后,我回顾了这本书,它具体说:“这是一个用于比较浮标是否等于机器精度极限的简单函数”。我相信这只是将浮点数与极高精度进行比较的一个示例,但是事实上,很多浮点数计算都会引入误差,因此即使使用它也很少。我将其描述为在答案中进行比较的“最准确”的方法,从某种意义上说这是正确的,但很少比较浮点数或整数与浮点数的含义。正确的方法是基于函数的“问题域”选择一个值(例如:0.00000000001),而不使用sys.float_info.epsilon。

感谢S.Lott和Sven Marnach的更正,如果我带领任何人走错了道路,我深表歉意。

python 2022/1/1 18:36:15 有227人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶