JavaScript:
Avrunding av tall

Hvordan:

Her er hvordan du avrunder tall i JavaScript ved hjelp av Math.round(), Math.ceil(), og Math.floor():

let originalNumber = 2.567;

let rundetNed = Math.floor(originalNumber); // 2
let rundetOpp = Math.ceil(originalNumber);    // 3
let avrundet = Math.round(originalNumber);     // 3 (siden .567 er mer enn .5)

console.log(rundetNed); // Skriver ut: 2
console.log(rundetOpp);   // Skriver ut: 3
console.log(avrundet);     // Skriver ut: 3

For å fikse til et bestemt antall desimaler, bruk toFixed():

let toDesimaler = originalNumber.toFixed(2); // "2.57" (returnerer en streng)

console.log(toDesimaler); // Skriver ut: "2.57"

Konverter strengen tilbake til et tall med et unært pluss eller Number():

let tallIgjen = +toDesimaler; // 2.57

console.log(tallIgjen); // Skriver ut: 2.57

Dypdykk

Å avrunde tall er ikke nytt; det er like gammelt som tallene selv. I JavaScript bruker Math.round() “rund halv opp”-grenseregelen: hvis den fraksjonelle delen er 0.5, avrunder den til det nærmeste partall.

For mer kontroll kan toFixed() være din go-to, men husk, den returnerer en streng. Å konvertere tilbake til et tall kan være et ekstra skritt, men sikrer at du fortsetter å jobbe med numeriske typer.

Alternativer? Biblioteker som lodash tilbyr _.round(number, [presisjon=0]) for mer nyansert kontroll. Eller, den nyere Intl.NumberFormat gir deg høy-presisjonsformatering utover bare avrunding.

Når vi snakker om presisjon, vær oppmerksom på flyttalls særegenheter i JavaScript. 0.1 + 0.2 blir ikke nøyaktig 0.3 på grunn av hvordan tall lagres. Noen ganger blir avrunding nødvendig for å korrigere slike flyttallfeil.

Se også