Accueil / javascript / 1-js / 05-data-types / 02-number / 4-endless-loop-error / solution.md

solution.md

C'est parce que i ne sera jamais exactement égal à 10.

Exécutez-le pour voir les valeurs *réelles* de i :

let i = 0;
while (i < 11) {
  i += 0.2;
  if (i > 9.8 && i < 10.2) alert( i );
}

Aucun d'entre eux n'est exactement 10.

De telles choses se produisent à cause des pertes de précision lors de l'ajout des fractions comme 0.2.

Conclusion : évitez les contrôles d'égalité lorsque vous travaillez avec des fractions décimales.