Bonjour,
Le but de mon programme est de convertir un float (qui peut aller jusqu'à 9 chiffres après la virgule) pour écriture dans un fichier binaire.
Afin de ne pas m'embêter avec la virgule du float, je me suis dit qu'il me suffisait de le multiplier par 10 exp.9 et de convertir cet UInt32 en Byte[4].
Tout fonctionne bien si j'ai effectivement 9 chiffres après la virgule. Si par contre, mon float = 0.1, alors 0.1*Math.Pow(10,9) = 100000001! Idem si je fais : 0.1*1000000000 = 100000001.
Quelqu'un peut-il m'expliquer cet effet de bord?
Je vous remercie...
Partager