Maison >interface Web >js tutoriel >Comment arrondir avec précision des nombres à deux décimales en JavaScript ?

Comment arrondir avec précision des nombres à deux décimales en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-28 16:55:11762parcourir

How to Accurately Round Numbers to Two Decimal Places in JavaScript?

Arrondir les nombres à deux décimales lorsque cela est nécessaire

Lors du traitement de données numériques, il est souvent nécessaire d'arrondir les valeurs aux décimales spécifiées. Cependant, dans certains cas, nous souhaitons arrondir uniquement si la valeur n'est pas déjà arrondie à la précision souhaitée.

Considérez le scénario suivant : vous souhaitez arrondir les nombres à deux décimales au maximum, mais seulement si nécessaire . Par exemple :

Input:
10
1.7777777
9.1

Output:
10
1.78
9.1

Utilisation de Math.round()

Une solution possible consiste à utiliser la méthode Math.round() :

let roundedNum = Math.round(num * 100) / 100;

Cette approche multiplie le nombre par 100 avant de l'arrondir à un nombre entier (en décalant effectivement la virgule décimale de deux places vers la droite), puis le divise reculez de 100 pour obtenir la valeur avec deux décimales.

Utilisation de Number.EPSILON

Cependant, cette approche ne gère pas correctement les cas limites. Par exemple, 1,005 serait arrondi à 1,01 au lieu de 1,00. Pour résoudre ce problème, nous pouvons utiliser Number.EPSILON :

let roundedNum = Math.round((num + Number.EPSILON) * 100) / 100;

Number.EPSILON représente la plus petite différence entre deux nombres à virgule flottante considérée comme significative. L'ajouter au nombre garantit que la valeur est arrondie correctement, même dans les cas limites.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn