Počas testovania upraveného zdrojového kódu v JavaScripte som narazil na veľmi zaujímavý problém, ktorý považujem za dosť fatálny … Skúste cez JavaScript vypočítať napr. 0.12 * 60, myslíte, že dostanete 7.2? Veľký omyl …
Na prekvapenie je výsledok 7.199999999999999 ?! Možno Vás napadne, že som pri vstupných hodnotách zle zaokruhloval, ale použil som nasledovný príkaz:
var res = 60 * 0.12;
console.log(„vypocet = “ + res);
alert(„vypocet = “ + res);
Riešenie: desatinné číslo je potrebné vynásobiť 100 a potom celý výsledok vydeliť 100, takže takto:
var res = 60 * (0.12 * 100);/* desatinne cislo krat 100 a to v zatvorkach, aby prebehol najprv tento vypocet */
console.log(„vypocet = “ + res / 100); /* vysledok pre spravnost vydelim 100-mi */
alert(„vypocet = “ + res / 100); /* vysledok pre spravnost vydelim 100-mi */