JavaScript: Eine Zahl auf 2 Nachkommastellen runden.

Dies ist eine kurze Anleitung, wie man eine Zahl mit JavaScript auf 2 Dezimalstellen runden kann. Im folgenden Beispiel werde ich auch eine JavaScript-Alternative zur PHP-Funktion number_format bereitstellen.

Schauen Sie sich die benutzerdefinierte JavaScript-Funktion unten an:

/** * Custom JavaScript function that rounds a number w/ * decimal places. * * @param val - The value that you want to format with decimal places. * @param decimals - The number of decimal places that should be used. * @returns {float} */function number_format(val, decimals){ //Parse the value as a float value val = parseFloat(val); //Format the value w/ the specified number //of decimal places and return it. return val.toFixed(decimals);}

Ich habe diese Funktion number_format genannt, weil das der Name einer beliebten PHP-Funktion ist, die eine ähnliche Operation ausführt.

Unsere benutzerdefinierte Funktion nimmt zwei Parameter entgegen:

  • val: Die Zahl, die wir runden wollen.
  • Dezimalstellen: Die Anzahl der Dezimalstellen, auf die die Zahl gerundet werden soll.

Innerhalb unserer Funktion haben wir die Variable val als Float geparst, indem wir die Funktion parseFloat von JavaScript verwendet haben. Dies haben wir getan, damit unsere Funktion auch mit String-Variablen umgehen kann. Wenn Sie eine String-Variable nicht parsen, bevor Sie die Methode toFixed() verwenden, wird Ihr Code den folgenden Uncaught TypeError auslösen:

Uncaught TypeError: val.toFixed ist keine Funktion

Das liegt daran, dass die Funktion Number.prototype.toFixed()-Methode nur mit Number-Variablen wie Floats und Integers verwendet werden kann.

Beachten Sie, dass diese Funktion im Gegensatz zu PHPs number_format-Funktion keine Tausendertrennzeichen hinzufügt.

Sie können diese Funktion anhand der folgenden Beispiele ausprobieren:

console.log(number_format(2.333, 2)); //Result: 2.33console.log(number_format("9.01345", 2)); //Result: 9.01console.log(number_format(5, 2)); //Result: 5.00console.log(number_format("383.48910093", 4)); //Result: 383.4891console.log(number_format(33.92039, 1)); //Result: 33.9

Wie Sie sehen, kann diese Funktion sowohl mit Zahlen als auch mit Strings umgehen:

  • Wir konnten den Float 2.333 auf 2 Nachkommastellen runden.
  • Die Zeichenkette „9.01345“ wurde auf 9.01 gerundet.
  • Eine ganze Zahl wie 5 wird zu „5.00“, wobei hinter der Nachkommastelle zwei Nullen angehängt werden.
  • Für „383.48910093“ änderten wir den zweiten Parameter auf 4. Dies rundete die Zahl auf 4 Nachkommastellen, was zu 383.4891 führte.
  • Schließlich rundeten wir 33.92039 auf 1 Nachkommastelle, was zu 33.9 führte.

Hoffentlich fanden Sie den obigen Code nützlich!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.