suizokukan a écrit :
Diable, Masklinn, je ne pensais pas que la comparaison directe de deux types float posait problème.
|
Code :
>>> (0.2 - 0.1) == (0.3 - 0.2) False
|
![[:dawa] [:dawa]](https://forum-images.hardware.fr/images/perso/dawa.gif)
Vas lire le goldberg immédiatement, chenapan 
Il faut utiliser un epsilon (en gros tu détermines une marge d'erreur, tu soustraits les deux nombres à comparer et si le résultat est inférieur à ta marge d'erreur tu considères qu'ils sont égaux).
Il y a d'autres stratégies, mais elles imposent des limitations (et potentiellement un impact au niveau des perfs) et ne sont pas nécessairement utilisables selon les cas: faire ses calculs avec des entiers (en ajoutant des puissances de 10 aux valeurs initiales, c'est comme ça que sont faits les calculs monétaires) ou en faisant du fixed-point arithmetics ou du decimal. En python, c'est le rôle du module decimal justement.
Message édité par masklinn le 13-10-2009 à 16:10:07
---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh