Nepřesné výpočty v JavaScriptu
Zlomky jsou v počítačích uloženy tak, že často mohou být reprezentovány nepřesně. V takovém případě vás může čekat nepříjemné překvapení, když banální operace vydá podivný výsledek. Příklad:
let a = 0.1 + 0.2;
alert(a); // vypíše 0.30000000000000004
Pro řešení tohoto chování lze
použít speciální metodu toFixed,
která provádí zaokrouhlení na dané
místo v desetinné části. Pojďme zaokrouhlit
náš výsledek:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // vypíše '0.30'
Metoda toFixed vrací výsledek ve formě
řetězce. Její výsledek lze převést
na číslo:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // vypíše 0.3
Ověřte, jaký bude výsledek následující operace:
alert(0.1 * 0.2);
Ověřte, jaký bude výsledek následující operace:
alert(0.3 - 0.1);