Niedokładne obliczenia w JavaScript
Ułamki są przechowywane w komputerach w taki sposób, że często mogą być reprezentowane niedokładnie. W takim przypadku może cię spotkać niespodzianka, gdy banalna operacja daje dziwny wynik. Przykład:
let a = 0.1 + 0.2;
alert(a); // wyświetli 0.30000000000000004
Aby walczyć z takim zachowaniem, można
zastosować specjalną metodę toFixed,
wykonującą zaokrąglenie do podanej
pozycji w części ułamkowej. Zaokrąglijmy
nasz wynik:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // wyświetli '0.30'
Metoda toFixed zwraca wynik w postaci
ciągu znaków. Można przekształcić jej wynik
na liczbę:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // wyświetli 0.3
Sprawdź, jaki będzie wynik następującej operacji:
alert(0.1 * 0.2);
Sprawdź, jaki będzie wynik następującej operacji:
alert(0.3 - 0.1);