La multiplication de 40.87 et 40.88 par 100 ne fonctionne pas !
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 :
Code:
var total = pu * qty * 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.
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 :
Code:
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); |
Chez moi, ça donne :
Code:
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 |
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 ?
Y a-t-il un moyen de "résoudre" ça ?
Merci à tous