Ceci est un petit guide sur la façon d’arrondir un nombre à 2 décimales en utilisant JavaScript. Dans l’exemple ci-dessous, je vais également fournir une alternative JavaScript à la fonction number_format de PHP.
Regardez la fonction JavaScript personnalisée ci-dessous :
/** * 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);}
J’ai nommé cette fonction number_format car c’est le nom d’une fonction PHP populaire qui effectue une opération similaire.
Notre fonction personnalisée prend deux paramètres :
- val : Le nombre que nous voulons arrondir.
- décimales : Le nombre de décimales auxquelles le nombre doit être arrondi.
Dans notre fonction, nous avons analysé la variable val comme un flottant en utilisant la fonction parseFloat de JavaScript. Nous avons fait cela pour que notre fonction puisse également gérer les variables de type chaîne. Si vous n’arrivez pas à analyser une variable de type chaîne avant d’utiliser la méthode toFixed(), votre code lèvera l’Uncaught TypeError suivant:
Uncaught TypeError : val.toFixed n’est pas une fonction
Ceci est dû au fait que la fonction Number.prototype.toFixed() ne peut être utilisée qu’avec des variables de type Number, comme les flottants et les entiers.
Notez que contrairement à la fonction number_format de PHP, cette fonction n’ajoute pas de séparateurs de milliers.
Vous pouvez tester cette fonction en utilisant les exemples suivants :
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
Comme vous pouvez le voir, cette fonction peut gérer à la fois les nombres et les chaînes de caractères :
- Nous avons pu arrondir le flottant 2.333 à 2 décimales.
- La chaîne de caractères « 9,01345 » a été arrondie à 9,01.
- Un nombre entier tel que 5 deviendra « 5.00 », deux zéros étant ajoutés derrière la décimale.
- Pour « 383,48910093 », nous avons changé le deuxième paramètre à 4. Cela a arrondi le nombre à 4 décimales, ce qui donne 383,4891.
- Enfin, nous avons arrondi 33,92039 à 1 décimale, ce qui donne 33,9.
En espérant que vous ayez trouvé le code ci-dessus utile !
.