Bonjour à tous amis développeurs,
Je vous soumets un problème étrange rencontré ce jour sur un petit programme de calcul de prix.
Dans mon code, il existe une fonction qui multiplie le prix unitaire par la quantité et qui multiplie le tout par 100 :
Or lorsque le prix unitaire est exactement 14.87 ou 14.88, le calculateur perd totalement les pédales, il ajoute des arrondis délirants.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var total = pu * qty * 100
Du coup j'ai voulu circonscrire le problème et je suis arrivé à la constatation que le problème venait vraisemblablement de Javascript lui-même (le coquin !)
Je vous invite à tester le bout de code suivant dans n'importe quel navigateur le rendu est le même :
Chez moi, ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 console.log('40.86 x 100 = ' + 40.86 * 100); console.log('40.87 x 100 = ' + 40.87 * 100); console.log('40.88 x 100 = ' + 40.88 * 100); console.log('40.89 x 100 = ' + 40.89 * 100);
Quelqu'un a-t-il déjà rencontré ce type de problèmes ? Est-ce un défaut de l'interpréteur ou du langage en lui-même ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 40.86 x 100 = 4086 40.87 x 100 = 4086.9999999999995 40.88 x 100 = 4088.0000000000004 40.89 x 100 = 4089
Y a-t-il un moyen de "résoudre" ça ?
Merci à tous
Partager