gpt4 book ai didi

python - 为什么 0.1 * 10 在 python 中等于 1.0?

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:14 25 4
gpt4 key购买 nike

<分区>

我试的时候是在玩python

>>> Decimal(0.1)
Decimal('0.1000000000000000055511151231257827021181583404541015625')

我认为这是正常的,因为 float 不准确。我还预计 0.1 * 10 会略大于 1.0

然后我尝试了

>>> Decimal(0.1 * 10)
Decimal('1')
>>> 0.1 * 10 == 1.0
True

这很奇怪,因为它们不应该相等。

>>> sum = 0.0
>>> for i in range(10):
sum += 0.1


>>> Decimal(sum)
Decimal('0.99999999999999988897769753748434595763683319091796875')

这也很奇怪,因为它应该略大于 1.0

谁能给我解释一下。

我不确定这是否相关,但我在 Windows 8.1 64 位上使用了 python 3.5.2 和 python 2.7.12。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com