比较Python中的float和int

比较Python中的float和int,第1张

比较Python中的float和int

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

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

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

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

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

>>> 0.3+0.3+0.3 == 0.9False>>> 0.3+0.3+0.30.8999999999999999

但是与

int
s和/或
<
or
>
*** 作相比,您不必担心。

在您的更新中,我们可以使用该

decimal
模块显示原因:

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

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存