Javascript : pb multiplication, resultat faux

Fermé
bobnigo - 4 mars 2008 à 11:08
 pronogoal - 16 juin 2008 à 03:27
Bonjour,

je cherche a remplir automatiquement un champ qui correspond a la multiplication de 2 autres champs, dans un formulaire PHP
je recupere donc les valeurs de ces deux champs (textfield) avec ceci :
document.getElementById('champ1').value

puis je les multiplie, et c'est la que j'ai un probleme
pour ex, mon premier champ vaut 40, et mon 2e 24.96
la valeur renvoyée, au lieu d'etre 40*24.96 = 998.4, est 998.4000000000001
pourquoi javascript me renvoit-il une valeur incorrecte? d'ou ce sort ce 10e chiffre apres la virgule?
(apparemment, le probleme se pose avec 24.92, 24.99, mais pas avec les autres : 24.91, 24.93, etc...)

j'ai essayé d'utiliser eval, parseFloat, sans succes. seul parseInt fonctionne, mais cela ne m'interesse pas. je ne veux pas limiter mon nombre de chiffres apres la virgule, je veux juste un resultat exact.

si quelqu'un a deja eu ce probleme et a reussi a le resoudre, je suis preneur.

d'avance merci.

Jerome

2 réponses

meme soucis :S
0
Math.round(variable*100)/100;

^^ ca marche :)
0