Maison > interface Web > js tutoriel > Pourquoi toFixed(2) arrondit-il incorrectement certaines valeurs décimales ?

Pourquoi toFixed(2) arrondit-il incorrectement certaines valeurs décimales ?

Patricia Arquette
Libérer: 2024-10-22 14:40:02
original
505 Les gens l'ont consulté

Why is toFixed(2) Rounding Incorrectly for Certain Decimal Values?

Javascript toFixed Rounding Diverpancies

toFixed(2) n'arrondit pas certaines valeurs décimales, affichant 859,38 au lieu de 859,39 dans l'exemple fourni . Cet écart peut être attribué aux variations dans les implémentations de la méthode toFixed() dans les navigateurs.

Pour contourner ce problème et garantir un arrondi cohérent entre les navigateurs, envisagez d'utiliser la méthode toFixed10() recommandée par blg. Cette méthode fournit un arrondi précis même pour les valeurs de précision étendues.

Voici un extrait de code mis à jour qui intègre toFixed10() :

function toFixed(num, precision) {
    return (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision)).toFixed(precision);
}
...
$('#lblTotalSprice').text('$' + addCommas(toFixed(currSprice, 2)));
$('#lblTotalPrice').text('$' + addCommas(toFixed(currPrice, 2)));
$('#lblTotalDiscount').text('$' + addCommas(toFixed(currDiscount, 2)));
$('#lblTotalDeposit').text('$' + addCommas(toFixed(currDeposit, 2)));
Copier après la connexion

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