Problème d'opération mathématique

Résolu
cs_AcarnanDragoon Messages postés 55 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 3 octobre 2012 - 10 déc. 2010 à 17:22
cs_AcarnanDragoon Messages postés 55 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 3 octobre 2012 - 10 déc. 2010 à 18:55
Bonjour à toutes et à tous,

Je viens vers vous parce que j'ai un problème que je n'arrive pas à résoudre. Voici mon code :

alert(prix_tot_option2);
alert(prix_opt2);
prix_tot_option2=Number(prix_tot_option2)-Number(prix_opt2);
alert(prix_tot_option2);


Tout simple me direz-vous ? Attendez que je vous explique :

prix_tot_option2 est égal à 33.1
prix_opt2 est égal à 21
Je les test comme vous le voyez avec des alert.
Et lorsque je soustrait l'une à l'autre cela me donne
12.100000000000001 au lieu de me donner simplement 12.1
J'ai beau avoir retourner ça dans tout les sens je ne comprend pas. Quelqu'un a t'il une idée ?

Merci d'avance, et bonne journée à tous !!!

2 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 déc. 2010 à 18:44
Bonjour,
problème générique lié au calcul sur les nombres en virgule flottante, il n'y a pas que le javascript qui en souffre.

La solution vient avec la méthode toFixed.

;O)
3
cs_AcarnanDragoon Messages postés 55 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 3 octobre 2012
10 déc. 2010 à 18:55
Merci bien je vais regarder du côté de cette méthode.

C'est quand même dingue ça veut dire qu'il faut que je contrôle tous mes résultats en rajoutant toFixed, c'est dingue.

Merci encore !
0
Rejoignez-nous