Bernd: nur 2 nachkommastellen

haiho,
ich habe da einen  sehr schönen code bekommen.

der code:

<html>
<body>
<script language="javascript" type="text/javascript">
var i = 0;
function addzahl(i)
{
 i = i+2;
 document.getElementById('zahl').innerHTML = i;
 setTimeout("addzahl("+i+");",1000);
}
setTimeout("addzahl(i);",10);
</script>

<span id="zahl" name="zahl">0</span>
</body>
</html>

wenn ich den laufe lasse, errechnet sich richtigerweise jede sekunde i+2. also 2,4,6,8,10,....

wenn ich nun aber i=i+0.12 rechnen lassen will, kommt
0.12, 0.24, 0.36,....0.96, 1.08 und dann 1.20000000002 usw.

wie kann ich im code erreichen, das er nur die 2 nachkommastellen ausgibt?

vielen dank für eure hilfe

gruss bernd

  1. Hallo,

    wie kann ich im code erreichen, das er nur die 2 nachkommastellen ausgibt?

    mit einem kleinen Trick:

    • multipliziere Deine Zahl mit 100
    • wende Math.round() an
    • dividiere Deine Zahl durch 100

    Grüße,
    bluntburn

    --
    jeden Tag 'ne Currywurst...
    1. mit einem kleinen Trick:

      • multipliziere Deine Zahl mit 100
      • wende Math.round() an
      • dividiere Deine Zahl durch 100

      habe jetzt einfach hinter
      i = i+0.12;

      folgendes geschrieben:
      i = i*100;
      i = Math.round(i);
      i = i/100;

      habe es getestet und funzt. ich das so ok?

      gruss bernd

      1. Hi Bernd,

        i = i+0.12;
        i = i*100;
        i = Math.round(i);
        i = i/100;

        etwas kürzer:

        i = Math.round((i+0.12)*100)/100;

        habe es getestet und funzt. ich das so ok?

        Du das ok so!

        Grüße,
        bluntburn

        --
        jeden Tag 'ne Currywurst...