【发布时间】:2018-06-16 03:31:00
【问题描述】:
我很难理解这一点:
>>> 52920*(15303855351918+15303855298999)/2.0 == 809880023823263820
False
>>> 52920*(15303855351918+15303855298999)/2.0 == 809880023823263820.0
True
>>> (52920*(15303855351918+15303855298999)/2.0) - 809880023823263820
0.0
>>> int(52920*(15303855351918+15303855298999)/2.0)
809880023823263872
>>> int(52920/2.0)*(15303855351918+15303855298999)
809880023823263820
运行 Python 3.5.3
数字 809880023823263820 显然可以表示为整数,因为它是 a.p. 的总和。具有所有整数参数的系列。第 1 次和第 4 次计算的解释是什么?
【问题讨论】:
-
浮点数是这种“精确”数字的错误抽象。精度位数太多。
标签: python floating-point type-conversion int