Henry: Addition Summierung von Zahlen seltsame Fehler Kommastellen

Beitrag lesen

Hallo,

Ich nutze eine Schleife um Beträge auszuwerten, funktioniert auch soweit, aber unerwartet viele Nachkommastellen.

928.15 + 2.9 = 931.05
931.05 + 2.9 = 933.95
933.95 + 2.9 = 936.85
936.85 + 2.9 = 939.75
939.75 + 2.9 = 942.65
942.65 + 2.9 = 945.55
945.55 + 2.9 = 948.45
948.45 + 2.9 = 951.35
951.35 + 2.9 = 954.24999999999
954.24999999999 + 2.9 = 957.14999999999
957.14999999999 + 2.9 = 960.04999999999
960.04999999999 + 2.9 = 962.94999999999
962.94999999999 + 3 = 965.94999999999
965.94999999999 + 2.9 = 968.84999999999
968.84999999999 + 2.9 = 971.74999999999
971.74999999999 + 2.9 = 974.64999999999
974.64999999999 + 2.9 = 977.54999999999
977.54999999999 + 2.9 = 980.44999999999
980.44999999999 + 2.9 = 983.34999999999
983.34999999999 + 2.9 = 986.24999999999
986.24999999999 + 2.9 = 989.14999999999
989.14999999999 + 2.9 = 992.04999999999
992.04999999999 + 2.9 = 994.94999999999
994.94999999999 + 3 = 997.94999999999
997.94999999999 + 2.9 = 1000.85
1000.85 + 2.9 = 1003.75
1003.75 + 2.9 = 1006.65
1006.65 + 2.9 = 1009.55

Der erste Wert ist immer das Produkt der vorangegangen Aufgabe.

$total += $x;

Warum wird dann urplötzlich aus 951.35 + 2.9 = 954.24999999999 und nicht 954.25? Was übrigens nicht passiert, wenn ich das als Einzelaufgabe ausprobiere. Dass ich das mit zb. round() ändern kann ist klar, aber möchte nur wissen warum das so ist und warum als Einzelaufgabe nicht.

Gruss
Henry

--
Meine Meinung zu DSGVO & Co:
„Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“

akzeptierte Antworten