PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD5.5] bizarrerie avec les reels peut etre sous WD8 (à voir)
[WD5.5] bizarrerie avec les reels peut etre sous WD8 (à voir)
Iniciado por pmoune, 20,oct. 2004 20:10 - 1 respuesta
Publicado el 20,octubre 2004 - 20:10
Je rencontre 2 phénomènes tres etrange :

1 - Je travaille avec des nombres petits qui sont déclarées comme reel dans
le code. de tant en temps, Windev me les met en notation scientifique. C'est
a dire que si je regarde ma variable sous le debogeur, elle ne s'affiche pas
comme 0.008 mais comme 8e-02. si je fais alors par exemple a*b et que a=5 et
b=8e-02, et bien j'ai une erreur de syntaxe.

2 - Problème beaucoup plus grave et qui se produit de facon aleatoire. Soit
dans un fichier 2 champs reels. Lc.Qte et Lc.QteL ces deux champs sont
renseignés dans une table de saisie avec comme masque 999 999.99 on ne peut
donc pas saisir plus de 2 decimales. une fois stocké dans le fichier et
rappelé pour traitement voici ce que j'ai de temps en temps (Une fois toutes
les 200 ajouts dans le fichier)

Lc.Qte1 est egale à 178.5
Lc.Qte1L est egal à 178.5
Lc.Qte1-Lc.Qte1L donne 125e-05 et pas 0

Mieux !

Lc.Qte1*1000000 donne 178500000
Lc.Qte1L*1000000 donne 178500000

Lc.Qte1*1000000-Lc.Qte1L*1000000 donne 0.125 !!!!!.

Je rappelle que ces champs sont saisies dans une table avec 2 decimales et
ne sont pas issus d'un calcul genre HT vers TTC. D'ou vinnent ces decimales
!!!

Une idée, car je vais mal finir avec mon client.

Merci
Publicado el 21,octubre 2004 - 10:55
Ton problème n'a rien à voir avec windev. Il s'agit de la méthode de stockage des réels.
Il faut systématiquement travailler sur ce type de données en faisant des arrondis, tes calculs seront alors justes.