Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: hupfi am 04.03.15 - 14:39:09

Titel: Substrahieren von drei Feldern
Beitrag von: hupfi am 04.03.15 - 14:39:09
Hallo @Notes'ler

ich stehe mal wieder von einem Rätsel und benötige deshalb eure Hilfe.

Ich möchte in einer Maske in einem Zahlenfeld drei Werte abziehen. Diese drei Werte befinden sich ebenfalls in Zahlenfeldern in der Maske.
Das eine Feld wird berechnet, das andere vom Benutzer eingegeben und das dritte wird per DBLookup in die Maske geschrieben. Die Subtraktion in dem Feld funktioniert ohne Probleme. Außer man verändert das Eingabefeld so, dass das Ergebnis null ergeben müsste. Dann erscheint in dem Feld aber nicht 0, sondern 2,2204460493E-16.

Woran liegt das? Was mache ich falsch?

Schöne Grüße
Titel: Re: Substrahieren von drei Feldern
Beitrag von: Tode am 05.03.15 - 09:47:44
Und das ist auch richtig so. Nur weil Du als Mensch "0" rausbekommst, heisst das noch lange nicht, dass eine Maschine das auch so rauskriegt.

Problem: Dezimalzahlen können Binär nur "annähernd" beschrieben werden. Und das Ergebnis ist der Rundungsfehler (eine Differenz an der 16. Stelle nach dem Komma) dieser Umrechnung.
Du musst also Dein Ergebnis auf eine vernünftige Anzahl Stellen runden.

@All: ich weiss, dass das Finanzmathematisch nicht korrekt ist, aber für die reine Subtraktion kommt man so auf ein "plausibles" Ergebnis, und die Rundungsfehler summieren sich auch nicht auf
Titel: Re: Substrahieren von drei Feldern
Beitrag von: hupfi am 05.03.15 - 14:29:00
Hi Tode,

danke für den Tip. Es funktioniert. Ist mir zwar net ganz logisch, weil die Zahlen im Feld nur zwei Kommastellen haben.
aber Hauptsache es funktioniert.