Nepresné výpočty v JavaScripte
Zlomky sú v počítačoch uložené takým spôsobom, že často môžu byť reprezentované nepresne. V takom prípade vás môže čekať prekvapenie, keď banálna operácia vydá zvláštny výsledok. Príklad:
let a = 0.1 + 0.2;
alert(a); // vypíše 0.30000000000000004
Proti takémuto správaniu sa možno
brániť použitím špeciálnej metódy toFixed,
ktorá vykonáva zaokrúhľovanie na dané
miesto v desatinnej časti. Zaokrúhlime
náš výsledok:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // vypíše '0.30'
Metóda toFixed vracia výsledok vo forme
reťazca. Jej výsledok je možné previesť
na číslo:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // vypíše 0.3
Skontrolujte, aký bude výsledok nasledujúcej operácie:
alert(0.1 * 0.2);
Skontrolujte, aký bude výsledok nasledujúcej operácie:
alert(0.3 - 0.1);