JavaScript a de nombreux avantages comme un langage de développement Web . Sa seule faiblesse flagrante est à virgule flottante , ou virgule , calculs. Alors que les opérations entières en JavaScript sont considérées comme fiables , les résultats des calculs en virgule flottante peuvent parfois être surprenant . Ces surprises sont responsables du vieillissement prématuré et l'irritabilité chez un grand pourcentage de programmeurs débutants . Résultats intéressants
erreurs de calculs en virgule flottante ne sont pas inconnus dans d'autres langages de programmation. Elles se produisent généralement en nombres de grande valeur . JavaScript produit des résultats intéressants au cours des opérations avec des valeurs aussi basses que 0,06 + 0,01. La plupart des gens offriraient 0,07 comme la solution à cette équation. JavaScript résout cette réponse comme ,06999999999999 . Proche, mais pas assez près pour des applications commerciales .
En forme et précision
JavaScript propose deux fonctions, toFixed () et toPrecision () qui éliminent les problèmes d'affichage liés à des résultats imprévisibles . La fonction toFixed () vous permet de déterminer le nombre de chiffres que le programme affiche après la virgule . Dans le cas de la monnaie , en utilisant l'argument num.toFixed (2) affiche uniquement les deux premiers chiffres après la virgule avec arrondi automatique . Le toPrecision () affiche une réponse avec le nombre total de chiffres spécifié dans l'argument sans tenir compte de leur rapport à la virgule.
La Cause
Les erreurs d'arrondi sont introduits lors de nombres décimaux sont convertis en chaînes binaires. Ce processus est nécessaire, car un ordinateur ne peut fonctionner avec zéros et de uns . Beaucoup de langues surmonter cette erreur d'arrondi à l'utilisation de types de données. En spécifiant comment et avec quelle précision une variable est stockée , langages comme le C et Java réduire ces erreurs. Lors de la déclaration d'une variable en JavaScript, aucun type n'est spécifié . Il en résulte des caractères, des chaînes, des nombres entiers et décimaux sont traités plus ou moins égale .
Solution
La stratégie la plus couramment utilisée pour éviter les erreurs en virgule flottante en JavaScript est à multiplier par 100 les deux variables avant d'effectuer un calcul en utilisant la fonction round () pour réduire l'erreur de virgule flottante et en divisant le produit de cette opération de 100 avant d'imprimer la réponse.
< br >