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!