NEWS
Addition von 0.01 ist falsch
-
@Homoran
Das ist leider wenig hilfreich. Ich benötige ein mathematisch korrektes Ergebnis. -
@Sandmanyz sagte in Addition von 0.01 ist falsch:
Ich benötige ein mathematisch korrektes Ergebnis.
???
und dafür geht es dir um die 25. Kommastelle
Wenn du jeden rechenschritt korrekt rundest, bekommst du auch ein korrektes Ergebnis
Nur das scheingenaue Ergebnis runden ist falsch -
@Homoran
Das mit dem Runden ist eben nicht die Lösung. Siehe meine Beispiele im ersten Beitrag. -
@Sandmanyz sagte in Addition von 0.01 ist falsch:
@Homoran
Das mit dem Runden ist eben nicht die Lösung. Siehe meine Beispiele im ersten Beitrag.da rundest du ja auch nur das falshe Endergebnis, nicht jeden rechenschritt
-
@Homoran sagte in Addition von 0.01 ist falsch:
da rundest du ja auch nur das falshe Endergebnis, nicht jeden rechenschritt
Man sollte immer nur das Endergebnis runden.
@Sandmanyz sagte in Addition von 0.01 ist falsch:
9 mal 0.01 addiert, Ergebnis 0.09999999999999999 -> gerundet 0.10 = FALSCH, richtig wäre 0,09
11 mal 0.01 addiert, Ergebnis 0.11999999999999998 -> gerundet 0.12 = FALSCH, richtig wäre 0,11Das kann ich nicht nachvollziehen, denn ich erhalte immer das richtige Ergebnis bei diesem Test:
-
@paul53 sagte in Addition von 0.01 ist falsch:
Man sollte immer nur das Endergebnis runden.
eigentlich ja!
Kann es hier ein async Problem sein, da er ja einen Datenpunkt über einen Adapter aktualisiert?
-
@Homoran sagte:
Kann es hier ein async Problem sein, da er ja einen Datenpunkt über einen Adapter aktualisiert?
Dann wäre der Zählerstand zu klein, aber nicht zu groß.
Man sollte aber immer mit Variablen (ohne Rundung) arbeiten und den Wert gerundet in den Datenpunkt schreiben. -
@Sandmanyz Wenn wir hier über die Theorie reden, lässt sich das Problem nicht lösen. Fliesskommazahlen werden genau aus diesem Grund in der Informatik mit sehr viel Vorsicht verwendet.
Wenn du das Problem lösen willst, musst du das Problem "ändern." Sprich: du musst anders an das Problem heran gehen.
Was ist denn dein eigentliches Problem? Ich nehme nicht an, dass du aus lauter Freude mal etwas Zahlen addierst.
Ein Vorschlag: rechne mit Ganzzahlen (0.01 ~= 1) und verwende einen alias, der genau diesen Wert noch dividiert (/ 100).
-
-
Perfekt