Warum zeigt Python "0.2 + 0.1" als "0.30000000000000004" an? [Duplikat]
Diese Frage hat hier bereits eine Antwort:
Kann jemand das erklären: 0.2 + 0.1 = 0.30000000000000004? [Duplikat] 2 AntwortenIch habe den folgenden Code zum Generieren eines Bereichs mit Floats geschrieben:
def drange(start, stop, step):
result = []
value = start
while value <= stop:
result.append(value)
value += step
return result
Beim Aufruf dieser Funktion mit dieser Anweisung:
print drange(0.1,1.0,0.1)
Ich habe folgendes erwartet:
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
Stattdessen erhalte ich jedoch Folgendes:
[0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999]
Warum ist das so und wie kann ich das beheben?
Vielen Dank!