JavaScript: Rond een getal af op 2 decimalen.

Dit is een korte handleiding over hoe je een getal op 2 decimalen kunt afronden met behulp van JavaScript. In het onderstaande voorbeeld geef ik ook een JavaScript-alternatief voor PHP’s functie number_format.

Kijk eens naar de aangepaste JavaScript-functie hieronder:

/** * 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);}

Ik heb deze functie number_format genoemd omdat dat de naam is van een populaire PHP-functie die een soortgelijke bewerking uitvoert.

Onze aangepaste functie neemt twee parameters in:

  • val: Het getal dat we willen afronden.
  • decimalen: Het aantal decimalen waarop het getal moet worden afgerond.

In onze functie hebben we de variabele val geparseerd als een float met behulp van JavaScript’s parseFloat-functie. We hebben dit gedaan zodat onze functie ook string-variabelen kan verwerken. Als u een tekenreeksvariabele niet parseert voordat u de methode toFixed() gebruikt, wordt in uw code de volgende Uncaught TypeError gegooid:

Uncaught TypeError: val.toFixed is geen functie

Dit komt omdat de functie Number.prototype.toFixed() methode alleen kan worden gebruikt met Getal-variabelen zoals floats en integers.

Merk op dat deze functie, in tegenstelling tot PHP’s number_format functie, geen duizendscheidingstekens toevoegt.

U kunt deze functie uittesten met de volgende voorbeelden:

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

Zoals u kunt zien, kan deze functie zowel getallen als tekenreeksen verwerken:

  • We waren in staat om de float 2.333 af te ronden op 2 decimalen.
  • De string “9.01345” werd afgerond op 9.01.
  • Een geheel getal zoals 5 wordt “5.00”, met twee nullen achter de komma.
  • Voor “383.48910093” veranderden we de tweede parameter in 4. Dit rondde het getal af op 4 cijfers achter de komma, wat resulteerde in 383.4891.
  • Tot slot rondden we 33.92039 af op 1 cijfer achter de komma, wat resulteerde in 33.9.

Hopelijk vond u de bovenstaande code nuttig!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *