Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet 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
-
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
-
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.