Hello all ,  
 
C'est la première foi que je poste sur un forum à cause d'un problème en développement  
J'ai toujours pu trouver sur la toile des réponses a mes questions .
 
Mais la j'ai un problème vraiment étrange sur un simple additions,  enfin simple pas tant que ça mais dans le fond oui  
  
 
Dans mon programme je fait une requête qui me récupère entre 10k et 100k de résultat
 
Dans une boucle ou je stock mes résultats dans un fichier j'additionne une valeur pour qu'a la fin de la boucle j'ai un total de cette même valeur  
 
(Exemple) table avec x champ donc un champ est : prix HT , je veux additionné ses prix pour avoir le total  
 
Et la c'est le drame  
  
 
Tous ce passe bien pour 80% de mes calculs et j'ai 20% ou le résultat est une aberration
 
voici une des xK lignes d'un echo de debug  
 
6.11+-6.43 = -0.32 ( Jusqu'ici tout va bien)
et au bout de x ligne comme celle la ou tous ce passe bien j'ai une ligne :  
6.11+-6.11  = -1.7763568394E-15 alors que le résultat devrai être égal a 0
le délire continu  
-1.7763568394E-15+6.43 = 6.43 (ici on vois bien que -1.7763568394E-15  + x = x  comme si -1.7763568394E-15 = 0)
 6.43+-6.43 = -1.7763568394E-15
 
je ne comprends plus rien  
 
information supplémentaire :  
system : php5 + debian  
sgbd : oracle  
 
Après un var_dump(de ma variable)  je vois un string.
Je force mes variables avec (float) même résultat.
 
petit bout de code  
ma boucle for  
.
.
.
Code :
 - //récupere la valeur de la bdd
 - $dlimtht = $tab_res2[$j]['DLIMTHT'];
 - //somme des valeurs
 - $dlimithtall = $dlimithtall+$dlimth
 
  | 
.
.
.
fin de ma boucle for  
 
 
j'espère avoir été assez clair dans mon explication .
need help  
 
Message édité par romain_92 le 27-11-2008 à 12:24:22