Hallo zusammen
Ab und zu stolpert man noch wieder über ein Problem, für das man selber keine Lösung findet, auch nach langer Suche. Bevor ich noch mehr Stunden investiere, hat jemand vielleicht einen Typ:
Über das Eingabefenster werden folgende Parameter festgelegt:
laenge = 0.3
n = 2
Danach soll der Parameter e festgelegt werden:
IF ( laenge - 0.1 ) / ( n - 1 ) >= 0.25 THEN e = 0.250
IF ( laenge - 0.1 ) / ( n - 1 ) < 0.25 AND ( laenge - 0.1 ) / ( n - 1 ) >= 0.20 THEN e = 0.200
IF ( laenge - 0.1 ) / ( n - 1 ) < 0.20 AND ( laenge - 0.1 ) / ( n - 1 ) >= 0.167 THEN e = 0.167
IF ( laenge - 0.1 ) / ( n - 1 ) < 0.167 AND ( laenge - 0.1 ) / ( n - 1 ) >= 0.125 THEN e = 0.125
IF ( laenge - 0.1 ) / ( n - 1 ) < 0.125 THEN e = 0.100
PARAMETERS e = e
Nach den Formeln ergibt dies nun:
( laenge - 0.1 ) / ( n - 1 ) = ( 0.3 - 0.1 ) / ( 2 - 1 ) = 0.2 / 1 = 0.2
somit müsste das SmartPart aus meiner Sicht nun e = 0.200 setzen.
Leider setzt das SmartPart aber in diesem Fall e = 0.167, da er das Ergebnis als < 0.20 wertet.
Kontrolle:
PRINT n / Ergebnis 2
PRINT laenge / Ergebnis 0.3
PRINT ( laenge - 0.1 ) / ( n - 1 ) / Ergebnis 0.2 (wäre soweit korrekt)
PRINT ( laenge - 0.1 ) / ( n - 1 ) = 0.20 / Ergebnis 0 (falsch), scheint doch nicht 0.2 zu sein
PRINT ( laenge - 0.1 ) / ( n - 1 ) < 0.20 / Ergebnis 1 (richtig), das Ergebnis scheint also kleiner als 0.2 zu sein
PRINT ( laenge - 0.1 ) / ( n - 1 ) > 0.20 / Ergebnis 0 (falsch)
Aus Gründen, die mir momentan noch nicht einleuchten, scheint das Ergebniss von 0.200 abzuweichen. Er zeigt bei PRINT 0.2 als Ergebnis an, scheint für die weiteren Rechnungen aber mit einer Zahl kleiner 0.2 zu rechnen.
Hat jemand hier eine Lösung zu diesem Problem?
Vielen Dank!