Kalle_Worms: Rundungsfehler bei Subtraktion ...

Beitrag lesen

Hallöle,

ja, spinn ich denn? Wenn man von einer ganzen Zahl mehrmals zwei Zehntel abzieht, MUSS man doch irgendwann auf NULL kommen, oder?

Was ist an dieser Funktion (sie bewegt ein Bild auf der X-Achse) falsch? Sie wird angesprungen mit Klick auf "hier"

<a href="javaScript:Move('linux',10,0)">hier</a>

und das testweise angezeigte Ergebnis ist -0.09999999999998121 sowohl in NS 7.1 und im IE 5

var lauf = 0;
var diff = 0.1;
function Move(name,xvon,xbis) {
//window.document.images[name].style.visibility = "visible";
  lauf++;
  if      ( xvon < xbis ) xvon = xvon +diff;
  else if ( xvon > xbis ) xvon = xvon -diff;
  window.document.images[name].style.marginLeft = xvon+'em';
  if (( xvon == xbis ) || ( lauf > 100 )) {
//      ^^^^^^^^^^^^^ xvon wird niemals 0.0
    lauf = 0;
    alert( "xvon=["+xvon+"] xbis=["+xbis+"]" );
  }
  else window.setTimeout("Move('"+name+"',"+xvon+","+xbis+")",5);
}

Lieben Gruß, Kalle