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 № 1Sie 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