/ / python-floatの合計により小数が繰り返される[複製]-Python

python - 浮動小数点数の合計が10進数の繰り返しを引き起こす[duplicate] - python

浮動小数点数のリストを要約しようとしています。リストには小数の繰り返しはありませんが、結果は小数の繰り返しです。原因と予防方法は何ですか? (Pythonバージョン:2.7.11)

例えば、

a=[1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1]
sum(a)

結果は

7.699999999999999

ありがとうございました。

回答:

回答№1は0

以下のコードのように、計算にnumpyを使用できます。

import numpy

a=[1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1]
print(numpy.sum(a))

回答№2の場合は0

これがバイナリ浮動小数点の性質です。詳細を読むことができます ここに

注:いつでも使用できます %.f 精度のため。つまり %.1f あなたの場合