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

比较Python中的float和int

比较Python中的float和int

只是直接比较它们,根本没有害处。

Python可以很好地比较不同类型的数字:

>>> type(1.1)
<class 'float'>
>>> type(1)
<class 'int'>
>>> 1.1 > 1
True
>>> 1.1 < 1
False
>>> 1 < 2
True
>>> 2.2 == 2.2
True
>>> 2 == 2.2
False
>>> 1.6 < 2
True
>>> 1.6 > 2
False
>>> 1.6 == 2
False

Python是鸭子类型的,因此通常来说,即使它们可以按您需要的方式工作,您也不必直接担心它们。

由于精度错误,比较具有 相等性 浮点数与其他浮点数可能存在一些问题:

>>> 0.3+0.3+0.3 == 0.9
False
>>> 0.3+0.3+0.3
0.8999999999999999

但是与ints和/或<or>操作相比,您不必担心。

在您的更新中,我们可以使用该decimal模块显示原因:

>>> Decimal(1.2000000000000001)
Decimal('1.20000000000000017763568394002504646778106689453125')
>>> Decimal(1.20000000000000001)
Decimal('1.1999999999999999555910790149937383830547332763671875')

但这真的重要吗?这是浮点数固有的问题,但仅在需要真正高精度的情况下才重要。

python 2022/1/1 18:42:16 有264人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶