Unøyaktige beregninger i JavaScript
Brøker lagres i datamaskiner på en slik måte at de ofte kan representeres unøyaktig. I så fall kan du vente deg en overraskelse når en vanlig operasjon gir et merkelig resultat. Eksempel:
let a = 0.1 + 0.2;
alert(a); // viser 0.30000000000000004
For å håndtere denne oppførselen kan du
bruke en spesiell metode toFixed,
som utfører avrunding til et angitt
antall desimaler. La oss runde av
resultatet vårt:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // viser '0.30'
Metoden toFixed returnerer resultatet i form av
en streng. Du kan konvertere resultatet
til et tall:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // viser 0.3
Sjekk hva som blir resultatet av følgende operasjon:
alert(0.1 * 0.2);
Sjekk hva som blir resultatet av følgende operasjon:
alert(0.3 - 0.1);