2011-09-10 7 views
0

可能性の重複:
Python float - str - float weirdnessフロート偏差

私はcodepad.orgにPythonで次のコードを実行します。

num = 1.6 
print num 
list = [num] 
print list 
num2 = list[0] 
print num2 

そして、私は次の取得出力:

1.6 
[1.6000000000000001] 
1.6 

なぜリストの小さな偏差ですか?プリントstrを呼び出すようにその要素に

+6

良いこと:整数の2 B、b)は、両方の表現が正しい、あるいは、他の言葉です。そのタグでいくつかの高い投票の質問を読んで、誰かがそれらによってトリップされるたびに同じマントラを繰り返すことはありません。 – delnan

答えて

3

list.__str__コールrepr

>>> str(1.6) 
'1.6' 
>>> repr(1.6) 
'1.6000000000000001' 

浮動小数点数が正確であることが保証されていない(そしてとして表現できない値について正確であることができないので*あなたは `浮動point`タグを見つけ

>>> 1.6 == 1.6000000000000001 
True