Maison  >  Article  >  interface Web  >  Problèmes de calcul décimal dans le didacticiel JavaScript

Problèmes de calcul décimal dans le didacticiel JavaScript

巴扎黑
巴扎黑original
2017-09-11 11:47:511813parcourir

Première photo :

Que se passe-t-il ?

Raison : js utilise le binaire pour les calculs décimaux

Regardez d'abord la méthode de conversion des décimales décimales en binaire :

Les chiffres entiers d'un nombre décimal sont les chiffres entiers de un nombre binaire, décimal La décimale d'un nombre est la décimale d'un nombre binaire

Si on a une décimale 111,4 (10), on la calcule :

Prenons d'abord la décimale 0,4 et "multipliez-le par deux" Méthode d'arrondi "

0,4*2=0,8 Le nombre en position entière du résultat est 0 | Appuyez sur

0,8*2=1,6 "        Prendre 1                                                                                  * 2 = 1,2 Obtenez 0 🎜>0,8*2=1,6                                                        1 | <.> 0,6*2 = 1,2 Prendre 1 |

0 .2*2 = 0,4 Prenez 0 |

Viens ici . Le nombre binaire après la virgule décimale est

0.01100110... (Boucle 0110)

Je n'écrirai pas l'entier, la méthode est de diviser par 2 et de prendre le reste

2,6+2,6+2,6 dans la question =7,800000000001. Lors du calcul des opérations décimales en JavaScript, les décimales sont d'abord converties en binaire correspondant. Certaines décimales ne peuvent pas être complètement converties en binaire. C'est là que se produit la première erreur. Une fois toutes les décimales converties en binaire, des opérations entre systèmes binaires sont effectuées pour obtenir le résultat binaire. Le résultat binaire est ensuite converti en décimal, où une deuxième erreur se produit généralement.

Solution : Spécifiez le nombre de décimales à conserver (7.8).toFixed(2)=7.80;. Cette méthode peut perdre en précision. Il existe également des moyens de personnaliser cet ajout en ligne. 🎜>

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