Bonjour à vous tous...
Peut-être quelqu'un va t'il trouver une réponse à ce bug lié aux décimales dans Foxpro (testé en version 7, 8 et 9).
par exemple
?63.2250000000000000000 affiche 63.2250000000000000000
?64.2250000000000000000 affiche 64.2259999999999990000
Foxpro fait la même "erreur" entre 64 et 81... allez comprendre pourquoi !!!!
De ce fait, la fonction round() pose aussi problème, en effet
? round(63.2250000000000000000,2) donne 63.23
? round(64.2250000000000000000,2) donne 64.22
par contre, si on limite les décimales à 10, aucun problèmes
? round(round(64.2250000000000000000,10),2) donne 64.23
J'ai remarqué ce phénomène uniquement entre 64 et 81. Les tests peuvent sembler tordu, mais dans mon domaine, on a souvent besoin de pus de 10 décimales pour travailler.
Toute réponse est bienvenue
Thierry