Maison > interface Web > js tutoriel > Pourquoi la méthode toFixed() de Javascript n'arrondit-elle pas avec précision ?

Pourquoi la méthode toFixed() de Javascript n'arrondit-elle pas avec précision ?

Susan Sarandon
Libérer: 2024-10-22 15:07:03
original
918 Les gens l'ont consulté

Why is Javascript's toFixed() Method Not Rounding Accurately?

Javascript toFixed n'arrondit pas avec précision

En Javascript, la méthode toFixed() est utilisée pour formater les nombres en chaînes. Cependant, les utilisateurs ont rencontré un comportement d'arrondi inattendu lors de l'utilisation de cette méthode, en particulier dans les cas où elle ne parvient pas à arrondir correctement les nombres.

La raison de cet écart d'arrondi réside dans l'arithmétique à virgule flottante sous-jacente utilisée par Javascript. Les nombres à virgule flottante peuvent parfois entraîner des erreurs de précision, en particulier lorsque vous travaillez avec des valeurs très petites ou très grandes.

Pour résoudre ce problème, envisagez la solution de contournement suivante :

La solution fournie suggère d'utiliser la méthode toFixed10(), qui est une version modifiée de la méthode toFixed() originale qui garantit un arrondi plus précis. Cette méthode arrondit le nombre à 10 décimales, ce qui est suffisamment précis pour la plupart des applications pratiques.

La solution comprend également une fonction toFixed() personnalisée qui effectue un arrondi similaire à l'aide de Math.round() et Math.pow. () méthodes. Cette fonction vous permet de spécifier la précision souhaitée, garantissant des résultats cohérents entre les navigateurs.

Mise en œuvre

En incorporant la méthode toFixed() modifiée ou la fonction personnalisée dans votre Javascript code, vous pouvez résoudre efficacement le problème d'arrondi et réaliser des calculs numériques précis :

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

// Usage:
var number = 859.385;
console.log(toFixed(number, 2)); // Output: "859.39"
Copier après la connexion

Conclusion

En comprenant les limites de la méthode toFixed() de Javascript et en utilisant le Solution de contournement mentionnée ci-dessus, les programmeurs peuvent surmonter les imprécisions d'arrondi et garantir des calculs numériques fiables dans leurs applications.

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
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