Javascript zle počíta

od autora: | 19. apríla 2012

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 */

Celkové hodnotenie

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *