/ / python - Die Summe von float verursacht die Wiederholung von Dezimal [duplicate] - python

Python - Summe von float verursacht wiederholende Dezimal [duplizieren] - Python

Ich versuche, eine Liste der Float-Nummer zusammenzufassen. Es gibt keine Dezimalstellen in der Liste, aber das Ergebnis ist eine sich wiederholende Dezimalzahl. Was ist die Ursache und wie kann man verhindern? (Python-Version: 2.7.11)

Beispielsweise,

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

Ergebnisse in

7.699999999999999

Vielen Dank.

Antworten:

0 für die Antwort № 1

Sie können numpy für Ihre Berechnung wie im folgenden Code verwenden:

import numpy

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

0 für die Antwort № 2

Dies ist die Natur des binären Fließkommas. Sie können mehr Informationen lesen Hier

Hinweis: Sie können immer verwenden %.f für Präzision. d.h. %.1f in Ihrem Fall