+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LL14 Rundungsfehler


(Guest) #1

Hallo NG,

bei der Berechnung von 535,519/100 erhält man als Ergebnis 101,745.
Die Funktion Round ((535,5
19/100),2) liefert allerdings um einen Cent geringeren Wert, nämlich 101,74.
Dies ist auch bei Umwandlungsfunktionen und Zahlenformaten so.

Dieser Fehler ist uns erst nach dem Update von LL13 auf LL14 aufgefallen.
Gibt es hierfür eine Lösung?

Vielen Dank für Eure Hilfe.
Eric


(Guest) #2

Hallo Eric,

Scheint tatsächlich ein Fehler in LL14 zu sein.
Hast du das schon dem Support gemeldet !

Gruß
Christian

Hallo NG,

bei der Berechnung von 535,519/100 erhält man als Ergebnis 101,745.
Die Funktion Round ((535,5
19/100),2) liefert allerdings um einen Cent geringeren Wert, nämlich 101,74.
Dies ist auch bei Umwandlungsfunktionen und Zahlenformaten so.

Dieser Fehler ist uns erst nach dem Update von LL13 auf LL14 aufgefallen.
Gibt es hierfür eine Lösung?

Vielen Dank für Eure Hilfe.
Eric


(Guest) #3

Hallo Christian,

habe es dem Support gemeldet und dieser hat mir eine Test-DLL gesendet, mit der es dann korrekt funktioniert.
Warten wir also auf das Release 14.007

Gruß und danke für deine Hilfe
Eric

Hallo Eric,

Scheint tatsächlich ein Fehler in LL14 zu sein.
Hast du das schon dem Support gemeldet !

Gruß
Christian

Hallo NG,

bei der Berechnung von 535,519/100 erhält man als Ergebnis 101,745.
Die Funktion Round ((535,5
19/100),2) liefert allerdings um einen Cent geringeren Wert, nämlich 101,74.
Dies ist auch bei Umwandlungsfunktionen und Zahlenformaten so.

Dieser Fehler ist uns erst nach dem Update von LL13 auf LL14 aufgefallen.
Gibt es hierfür eine Lösung?

Vielen Dank für Eure Hilfe.
Eric


(Guest) #4

Liebe Anwender,

ein paar Worte zur (Er)Klaerung von unserer Seite:

List & Label 14 verwendet die Windows-API VarRound zur Rundung. Diese fuehrt
ein sogenanntes “Banker’s Rounding” durch und unterscheidet sich insofern
vom bisherigen Verhalten in List & Label 13. Auf mehrfachen Wunsch werden
wir mit dem naechsten Servicepack 14.007 eine Option anbieten, mit der das
alte Verhalten wiederhergestellt werden kann.

Es gibt eine Vielzahl verschiedener Rundungsalgorithmen
( Allgemein
empfehlen wir (Kapitel 8.5 Programmierreferenz), die Rundung innerhalb der
eigenen Applikation durchzufuehren und bereits gerundete Werte an das
Reporting zu uebergeben - nur dann kann Datenkonsistenz sicher gestellt
werden. Sonst kann es immer passieren, dass Ihre Applikation einen anderen
Algorithmus als List & Label verwendet.

Viele Gruesse,

Jochen Bartlau
Project Manager
combit GmbH


(Guest) #5

Hallo Eric,

im Release 14.007 gibt es jetzt eine Option, um zwischen kaufmännischem
und mathematischem Runden umzuschalten:
#define LL_OPTION_ROUNDINGSTRATEGY (163)
#define LL_ROUNDINGSTRATEGY_BANKERSROUNDING ( 0)
#define LL_ROUNDINGSTRATEGY_ARITHMETIC_SYMMETRIC ( 1)

HTH,
Joachim

Eric Kahlefeld schrieb:

Hallo NG,

bei der Berechnung von 535,519/100 erhält man als Ergebnis 101,745.
Die Funktion Round ((535,5
19/100),2) liefert allerdings um einen Cent geringeren Wert, nämlich 101,74.
Dies ist auch bei Umwandlungsfunktionen und Zahlenformaten so.

Dieser Fehler ist uns erst nach dem Update von LL13 auf LL14 aufgefallen.
Gibt es hierfür eine Lösung?

Vielen Dank für Eure Hilfe.
Eric