elecfan 发表于 2021-3-4 23:33:09

Python中小数减去整数得到的结果疑问

在Python中,用一个小数减去一个整数,例如,3.14-3,为什么输出的结果是0.14000000000000012,有没有大神帮忙解答下,谢谢!

elecfan 发表于 2021-3-4 23:34:03

自己顶一下{:5_97:}

白橙君 发表于 2021-3-4 23:51:41

{:5_109:}

jackz007 发表于 2021-3-5 00:08:37

本帖最后由 jackz007 于 2021-3-5 00:14 编辑

      整数在计算机中可以精确表达,而浮点数则不然,由于计算机 CPU 的数据总线宽度有限,CPU 字长所能表达的不同数值的个数是有限的,例如,64位 CPU 的字长为 64 位,总共可以表达 2 ^ 64 = 18446744073709551616 个不同的数值,而浮点数的个数是无限多的,所以,计算机对浮点数只能做到近似表达,这一点应该很容易理解。

elecfan 发表于 2021-3-5 09:07:29

jackz007 发表于 2021-3-5 00:08
整数在计算机中可以精确表达,而浮点数则不然,由于计算机 CPU 的数据总线宽度有限,CPU 字长所能表 ...

再请教下,如果要得到准确的结果,需要怎么操作?

wp231957 发表于 2021-3-5 09:26:31

elecfan 发表于 2021-3-5 09:07
再请教下,如果要得到准确的结果,需要怎么操作?

输出时使用宽度(精度)限制
0.9是否等于1取决于精度需求

jackz007 发表于 2021-3-5 09:41:38

本帖最后由 jackz007 于 2021-3-5 10:29 编辑

elecfan 发表于 2021-3-5 09:07
再请教下,如果要得到准确的结果,需要怎么操作?

      我似乎听到这样一个问题,我有一辆 5 座轿车,请问,如何才能装下全世界的人,那么,请问楼主,你有好办法吗?

永恒的蓝色梦想 发表于 2021-3-6 11:21:45

elecfan 发表于 2021-3-5 09:07
再请教下,如果要得到准确的结果,需要怎么操作?

from decimal import Decimal
页: [1]
查看完整版本: Python中小数减去整数得到的结果疑问