Sven Rautenberg: Anzeige der Nachkommastelle "springt" beim summieren

Beitrag lesen

Moin!

hallo forum,
beim summieren von zahlen mit unterschiedlichen nachkommastellen 'springt' bei der summe die nachkommastelle über die anzahl hinaus. wie kann ich diese "scheinbar falsche rundung" verhindern??

Die Rundung ist eben nur scheinbar falsch. Das sind aber ganz normale Vorgänge beim Computer-Rechnen mit Fließkommazahlen.

Das Problem ist: Der Computer stellt Zahlen intern binär dar. Er kann ganz prima ganze Zahlen verwalten, und ansonsten nur binäre Brüche, die sich im Dezimalsystem 1/2, 1/4, 1/8, 1/16... etc. nennen.

Wenn deine Dezimalzahl nicht durch eine Kombination von binären Brüchen darstellbar ist, muß der Computer runden. Insbesondere hat der Computer kein 1/10, 1/100, 1/1000 usw., das sorgt für die primären Probleme. Keine Kombination von binären Brüchen kann diese Dezimalbrüche bilden (das sagt uns z.B. die Primzahlzerlegung der Nenner.

Bei dezimal rechnenden Taschenrechnern treten Rundungsfehler ja übrigens auch auf, wenn man zu lange Nachkommastellen hat. Aber wir sind das Dezimalsystem eben gewohnt, und auch dessen Rundungsfehler. Binäre Rundungsfehler treten unerwartet auf, weil wir nicht binär rechnen.

Verhindern kannst du da gar nichts. Du kannst versuchen, nur mit Integern zu rechnen, und für die Ausgabe der Zahl dann das Komma passend zu setzen. Sowas wird z.B. beim Rechnen mit Geldbeträgen gemacht (einfach in ganzen Cent rechnen - dann treten keine Rundungsfehler unerwartet auf). Bei beliebigen Kommazahlen dürfte das aber unmöglich sein.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)