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
Libérer: 2024-12-28 16:55:11
original
751 Les gens l'ont consulté

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
Copier après la connexion

Utilisation de Math.round()

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

let roundedNum = Math.round(num * 100) / 100;
Copier après la connexion

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal