Kawusel: Summierung in for-Schleife gibt falsches Ergebnis

Beitrag lesen

Hallo,

ich erhalte bei folgendem Beispiel fehlerhafte Werte, sobald der
Index meiner Auswahlliste 7 oder größer ist.
Für elm.selectedIndex = 6 erhalte ich noch den richtigen Wert 1.12
Für elm.selectedIndex = 7 erhalte ich 1.1400000000000001

Entweder habe ich gerade ein Brett vor dem Kopf und sehe den Wald vor lauter Bäumen nicht, oder irgendwas funktioniert da mit den Typen nicht. Vielleicht weiß ja einer von euch Rat.

Hier mein Scriptauszug:

var incRateNextYear = 0.01;
var incRateNextNextYear = 0.03;
var incRateFutureYears = 0.02;

function setYearRate(elm) { // elm ist eine Formular-Auswahlliste
var sum = 0;
switch (elm.selectedIndex) {  // ab elm.selectedIndex>=7 gehts schief
 case 0:
  sum = 1;
 break;
 case 1:
  sum = 1 + incRateNextYear;
  alert ("2003 "+sum);
 break;
 case 2:
  sum = 1 + incRateNextYear + incRateNextNextYear;
  alert ("2004 "+sum);
 break;
 case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10:
  sum = 1 + incRateNextYear + incRateNextNextYear;
  for (var i=3; i<=elm.selectedIndex; i++) {
   sum = sum + incRateFutureYears;
  }
  alert ("2005+ "+sum);
 break;
}
return sum;
}

Vielleicht weiß einer von euch ja zumindest, wo ich sonst suchen konnte, unter selfhtml und im Archiv hab ich bis jetzt noch nichts entdeckt.

MfG
Judith Merges