Runden einer Zahl auf 2 Nachkommastellen in JavaScript

Harshit Jindal 12 Oktober 2023
  1. Verwenden von die Methode .toFixed() zum eine Zahl in JavaScript auf 2 Dezimalstellen zu runden
  2. Verwenden von die Funktion Math.round() zum eine Zahl in JavaScript auf 2 Dezimalstellen zu runden
  3. Verwenden von die doppelte Rundung zum eine Zahl auf 2 Dezimalstellen in JavaScript zu runden
  4. Verwenden der benutzerdefinierten Funktion zum Runden einer Zahl auf 2 Dezimalstellen in JavaScript
Runden einer Zahl auf 2 Nachkommastellen in JavaScript

In diesem Tutorial wird erläutert, wie Sie eine Zahl in JavaScript auf 2 Dezimalstellen runden.

Verwenden von die Methode .toFixed() zum eine Zahl in JavaScript auf 2 Dezimalstellen zu runden

Wir wenden die Methode .toFixed() auf die Zahl an und übergeben die Anzahl der Nachkommastellen als Argument.

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

Diese Methode liefert in einigen Fällen keine genauen Ergebnisse, und es gibt bessere Methoden als diese. Wenn eine Zahl von 1.2 rundet, wird 1.20 angezeigt. Wenn eine Zahl wie 2.005 angegeben wird, wird 2.000 anstelle von 2.01 zurückgegeben.

Verwenden von die Funktion Math.round() zum eine Zahl in JavaScript auf 2 Dezimalstellen zu runden

Wir nehmen die Zahl und fügen eine sehr kleine Zahl hinzu, Number.EPSILON, um die genaue Rundung der Zahl sicherzustellen. Wir multiplizieren dann vor dem Runden mit 100 mit der Zahl, um nur die beiden Ziffern nach der Dezimalstelle zu extrahieren. Schließlich teilen wir die Zahl durch 100, um maximal 2 Dezimalstellen zu erhalten.

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

Ausgabe:

212421434.53

Obwohl diese Methode gegenüber .toFixed() verbessert wurde, ist sie immer noch nicht die beste Lösung und wird auch nicht korrekt von 1.005 gerundet.

Verwenden von die doppelte Rundung zum eine Zahl auf 2 Dezimalstellen in JavaScript zu runden

In dieser Methode verwenden wir die Methode .toPrecision(), um die Gleitkomma-Rundungsfehler zu entfernen, die während der Zwischenberechnungen bei der Einzelrundung auftreten.

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));

Ausgabe:

1.01

Verwenden der benutzerdefinierten Funktion zum Runden einer Zahl auf 2 Dezimalstellen in JavaScript

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

Diese benutzerdefinierte Funktion kümmert sich um alle Eckfälle, und das Runden von Dezimalstellen wie 1.005 wird von dieser Funktion gut behandelt.

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

Verwandter Artikel - JavaScript Number