Page 1 sur 1

Posté : mer. 09 août 2017, 10:52:43
par Erwan_35
Bonjour,

manifestement en parcourant le net, la gestion de la notation scientifique n'est pas fiable.
En effet, je rencontre un problème de conversion avec la fonction intégrée %DEC dans un programme RPG.
Je parse une zone numérique d'un flux xml dans une variable définie en FLOAT(8) (car parfois elle est en notation scientifique !). Puis j'affecte celle-ci dans une variable définie en PACKED(15:9).

la valeur du flux xml est : <Facteur_Conversion>0.038</Facteur_Conversion>

la conversion est %dec(xml_In_Un_Rempl(i).Facteur_Conversion :15:9)
et le résultat est : 0.037999999

Existe-t-il des paramètres de précision où dois-je trouver une autre solution de type passage en chaîne de caractère et transformation "manuelle" par une petite fonction de traduction ?

Erwan

Posté : mer. 09 août 2017, 10:58:47
par claude.mahe
Bonjour,

Tu peux peut-être utiliser la fonction %DECH

Posté : mer. 09 août 2017, 11:04:26
par Erwan_35
Bonjour et merci,
j'y avais pensé mais je doute que cela fonctionne car le %DEC me retourne une valeur "plus précise" que celle entrée !
Je vais tout de même essayer...

Posté : mer. 09 août 2017, 12:50:17
par Erwan_35
Et bien finalement si, cela fonctionne, mais peut on être certain que cela fonctionne dans toutes les occasions ? That is the question...