C'est un probleme qui est aussi vieux que les langages de programmation.
Deja dans mes cours d'assembleur il y a...  euh, pas mal d'annees, il
etait clairement conseille de ne jamais tester l'egalite de deux
flottants (mieux vaut comparer la valeur absolue de leur soustraction a
un epsilon).

-- 
C�dric


> -----Original Message-----
> From: Benoit Adam [mailto:[EMAIL PROTECTED]] 
> Sent: Wednesday, June 12, 2002 5:58 AM
> To: [EMAIL PROTECTED]
> Subject: Un peu hallucinant quand meme....
> 
> 
> On veut effectuer la comparaison de deux chiffres, par 
> exemple : Est ce que (1 - 0.42) = 0.58 ?
> 
> A priori oui et bien non :
> System.out.println(1d - .42d) -> 0.5800000000000001 
> System.out.println(1f - .42f) -> 0.58000004
> 
> On vient de rencontrer ce style de probleme sur un projet et
> ca me tue ! J'ai trouve plus d'explications sur ce thread 
> mais decidement, ca me derange !! 
> http://forum.java.sun.com/thread.jsp?forum=31&thread=> 249414
> 
> 
> Voila c'est comme ca ! Une reaction ?
> 
> Ben
> 
> 
> 

Répondre à