22.11.2021 11:21 | |
Beigetreten: 21.01.2013 Letzter Bes: 11.02.2025 Beiträge: 3535 Bewertung:
|
Hallo Pikador, bei Gleitkommazahlen ist leider immer die Genauigkeit mit zu berücksichtigen. Für einen Vergleich auf Gleichheit gibt es in der LGF (Library of general functions) die Funktion LGF_CompareLReal. Basierend auf dieser Funktion müsste Dein Vergleich lauten: ausw := (erg <= 2.0 + PRECISION);. Viele Grüße |
03.12.2021 09:23 | |
Beigetreten: 21.01.2013 Letzter Bes: 11.02.2025 Beiträge: 3535 Bewertung:
|
Hallo Pikador, das Thema "Genauigkeit von Gleitkommazahlen" ist kein Siemens-Thema. Die Überprüfung auf Gleichheit (oder selbst <, > wenn nahe an der Grenze der Genauigkeit) führt auch in anderen Programmiersprachen zur selben Problematik. (Siehe dazu auch den Wikipedia-Eintrag zu Gleitkommazahl). In diesem Fall wäre eine Änderung am Verhalten durch Siemens meiner Meinung nach der falsche Weg. Denke man nur daran, wie viele bestehende Programme dann eventuell falsch arbeiten würden. Viele Grüße |
Folgen Sie uns auf