HOWTO · JavaScript
Runden einer Zahl auf 2 Nachkommastellen in JavaScript
In diesem Tutorial erfahren Sie, wie Sie eine Zahl in JavaScript auf höchstens 2 Dezimalstellen runden.
Auf dieser Seite
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.