python列表中的浮点偏差

python列表中的浮点偏差,python,floating-point,rounding,Python,Floating Point,Rounding,可能重复: 我在codepad.org上用python运行以下代码: num = 1.6 print num list = [num] print list num2 = list[0] print num2 我得到以下输出: 1.6 [1.6000000000000001] 1.6 为什么列表中出现微小的偏差?列表。

可能重复:

我在codepad.org上用python运行以下代码:

num = 1.6
print num
list = [num]
print list
num2 = list[0]
print num2
我得到以下输出:

1.6
[1.6000000000000001]
1.6

为什么列表中出现微小的偏差?

列表。
对其元素调用
repr
,其中as print调用
str

>>> str(1.6)
'1.6'
>>> repr(1.6)
'1.6000000000000001'
由于浮点数不能保证精确(对于不能表示为a*2b的整数a、b,浮点数也不能保证精确),因此这两种表示都是正确的,或者换句话说:

>>> 1.6 == 1.6000000000000001
True

list.\uuu str\uuu
对其元素调用
repr
,其中as print调用
str

>>> str(1.6)
'1.6'
>>> repr(1.6)
'1.6000000000000001'
由于浮点数不能保证精确(对于不能表示为a*2b的整数a、b,浮点数也不能保证精确),因此这两种表示都是正确的,或者换句话说:

>>> 1.6 == 1.6000000000000001
True

幸好您找到了
浮点标记。去读一些带有该标签的投票率较高的问题,不要每次有人被他们绊倒时都重复同样的咒语。幸好你找到了
浮点
标签。去读一些投票率很高的问题,不要在每次有人被他们绊倒时重复同样的咒语。