"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment résoudre un comportement d'arrondi inattendu avec la méthode toFixed() en Javascript ?

Comment résoudre un comportement d'arrondi inattendu avec la méthode toFixed() en Javascript ?

Publié le 2024-11-25
Parcourir:529

How to Resolve Unexpected Rounding Behavior with toFixed() Method in Javascript?

toFixed non arrondi en Javascript

Lors de l'utilisation de la méthode toFixed en Javascript pour arrondir des nombres, les utilisateurs peuvent rencontrer des résultats inattendus, où les décimales sont pas arrondi comme prévu. En particulier, des nombres tels que 859,385 peuvent s'afficher uniquement sous la forme 859,38 au lieu du 859,39 attendu.

Certains navigateurs gèrent les calculs d'arrondi différemment, ce qui entraîne des écarts lors de la comparaison des calculs Javascript à ceux effectués en PHP. Pour résoudre ce problème, une solution robuste a émergé : la méthode toFixed10() de Mozilla.

Cette méthode fournit systématiquement un comportement d'arrondi précis dans tous les navigateurs. Voici un one-liner pratique qui exploite toFixed10() :

function toFixed( num, precision ) {
    return ( (Math.round( (num   'e'   precision))   'e'   -precision)).toFixed(precision);
}

Avec cette fonction, vous pouvez vous assurer que les opérations d'arrondi en Javascript s'alignent parfaitement avec celles de PHP, quel que soit l'environnement du navigateur.

Déclaration de sortie Cet article est reproduit sur: 1729578617 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3