J'ai deux valeurs, une provenant de l'utilisateur et une autre de DB. Userinput ont la valeur "1" comme chaîne, tandis que valuefromDB ont la valeur 0.001 comme valeur flottante.Float/Float = résultat étrange
donc 1/0,001 = 1000
mais mon code C# me donner 999,999939 comme résultat;
var final = float.Parse(userinput)/valuefromDB
quand j'ai « 2 » en tant que valeur d'entrée de l'utilisateur, le résultat est correct, 2000 ...
Ceci est une conséquence de la précision du flotteur. – Candide
Tout le monde programmeur doit comprendre les nombres à virgule flottante: http://en.wikipedia.org/wiki/Floating_point#IEEE_754:_floating_point_in_modern_computers – mellamokb
Avez-vous besoin de précision de base 10, ou avez-vous besoin de base 2? –