mam problem z najprostszymi działaniami w javascript. otóz mam coś takiego:
var zmienna = 100; var wartosc = 1; var odejmij = wartosc / zmienna; var czas = setInterval(function(){ zmienna = zmienna - 1; wartosc = wartosc - odejmij; document.getElementById('galeria_test').innerHTML = wartosc; document.getElementById('galeria_test2').innerHTML = zmienna; if (zmienna == 1){ clearTimeout(czas); } },1);
niby wszystko dziala poprawnie ale niestety... gdy daje alert wartosc odejmij to faktycznie mam '0.01' ale koncowy wynik odejmowania jest stylu '0.009999999999999247'.
dlaczego sa takie niedokłądnosci ? co zrobic, aby odejmowalo to co trzeba i był z tego prawidłowy wynik ?
gdy przerabiam to na prostszą wersję:
var zmienna = 100; var wartosc = 1; var odejmij = wartosc / zmienna; var czas = setInterval(function(){ wartosc = wartosc - odejmij; document.getElementById('galeria_test').innerHTML = wartosc; document.getElementById('galeria_test2').innerHTML = zmienna; if (wartosc <= 0){ clearTimeout(czas); } },1);
otrzymuje calkiem kosmos '-7.528699885739343e-16'