Maison >interface Web >js tutoriel >Comment arrondir des nombres à deux décimales en JavaScript uniquement lorsque cela est nécessaire ?

Comment arrondir des nombres à deux décimales en JavaScript uniquement lorsque cela est nécessaire ?

DDD
DDDoriginal
2024-12-28 00:21:09616parcourir

How to Round Numbers to Two Decimal Places in JavaScript Only When Necessary?

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!

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