Maison >interface Web >js tutoriel >Comment arrondir des nombres à deux décimales en JavaScript uniquement lorsque cela est nécessaire ?
Arrondir les nombres à deux décimales : si nécessaire
Si vous souhaitez arrondir les nombres à deux décimales au maximum, mais seulement lorsque cela est nécessaire , voici deux méthodes efficaces en JavaScript :
1. Utilisation de Math.round() :
Math.round(num * 100) / 100
Cette méthode multiplie le nombre par 100 pour déplacer la virgule décimale de deux places vers la droite, arrondit le résultat à l'aide de Math.round(), puis divise par 100 pour ramener la virgule décimale à sa position d'origine.
2. Utilisation de Number.EPSILON pour la précision :
Math.round((num + Number.EPSILON) * 100) / 100
Cette méthode est plus précise, en particulier pour les nombres comme 1,005 qui peuvent être incorrectement arrondis par la méthode précédente en raison de problèmes de précision en virgule flottante. Il ajoute un petit nombre (Number.EPSILON) avant de multiplier et d'arrondir, garantissant ainsi qu'aucune erreur d'arrondi ne se produit.
Exemple d'utilisation :
const numbers = [10, 1.7777777, 9.1]; const roundedNumbers = numbers.map(num => { return num === Math.floor(num) ? num : Math.round(num * 100) / 100; }); console.log(roundedNumbers); // Output: [10, 1.78, 9.1]
Dans cet exemple, les nombres sont arrondis à deux décimales seulement s’ils comportent une partie fractionnaire. 10 reste inchangé car c'est déjà un nombre entier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!