Arrotondare un numero a 2 cifre decimali in JavaScript

Harshit Jindal 12 ottobre 2023
  1. Usa il metodo .toFixed() per arrotondare un numero a 2 cifre decimali in JavaScript
  2. Usa la funzione Math.round() per arrotondare un numero a 2 cifre decimali in JavaScript
  3. Usa il doppio arrotondamento per arrotondare un numero a 2 cifre decimali in JavaScript
  4. Utilizzo della funzione personalizzata per arrotondare un numero a 2 cifre decimali in JavaScript
Arrotondare un numero a 2 cifre decimali in JavaScript

Questo tutorial introduce come arrotondare un numero a 2 cifre decimali in JavaScript.

Usa il metodo .toFixed() per arrotondare un numero a 2 cifre decimali in JavaScript

Applichiamo il metodo .toFixed() al numero e passiamo il numero di cifre dopo il decimale come argomento.

var numb = 12312214.124124124;
numb = numb.toFixed(2);

Questo metodo non produce risultati accurati in alcuni casi e ci sono metodi migliori di questo. Se un numero arrotonda di 1.2, allora mostrerà 1.20. Se viene fornito un numero come 2.005, restituirà 2.000 invece di 2.01.

Usa la funzione Math.round() per arrotondare un numero a 2 cifre decimali in JavaScript

Prendiamo il numero e aggiungiamo un numero molto piccolo, Number.EPSILON, per garantire un arrotondamento accurato del numero. Quindi moltiplichiamo per numero con 100 prima di arrotondare per estrarre solo le due cifre dopo la cifra decimale. Infine, dividiamo il numero per 100 per ottenere un massimo di 2 cifre decimali.

var numb = 212421434.533423131231;
var rounded = Math.round((numb + Number.EPSILON) * 100) / 100;
console.log(rounded);

Produzione:

212421434.53

Anche se questo metodo migliora rispetto a .toFixed(), non è ancora la soluzione migliore e inoltre non arrotonderà correttamente 1.005.

Usa il doppio arrotondamento per arrotondare un numero a 2 cifre decimali in JavaScript

In questo metodo, utilizziamo il metodo .toPrecision() per eliminare gli errori di arrotondamento in virgola mobile introdotti durante i calcoli intermedi nell’arrotondamento singolo.

function round(num) {
  var m = Number((Math.abs(num) * 100).toPrecision(15));
  return Math.round(m) / 100 * Math.sign(num);
}

console.log(round(1.005));

Produzione:

1.01

Utilizzo della funzione personalizzata per arrotondare un numero a 2 cifre decimali in JavaScript

function roundToTwo(num) {
  return +(Math.round(num + 'e+2') + 'e-2');
}
console.log(roundToTwo(2.005));

Questa funzione personalizzata si occupa di tutti i casi d’angolo e l’arrotondamento di decimali come 1.005 è gestito bene da questa funzione.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

Articolo correlato - JavaScript Number