format FLOAT

RPG (3 et 4, free), CL, SQL, etc...
Répondre
Erwan_35
Messages : 13
Enregistré le : ven. 09 juin 2017, 07:47:18
Localisation : Rennes

Message 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
Modifié en dernier par Erwan_35 le mer. 09 août 2017, 14:38:23, modifié 1 fois.

claude.mahe
Messages : 44
Enregistré le : ven. 22 juin 2007, 17:11:26
Localisation : SAINT BRIEUC( 22002)
Contact :

Message par claude.mahe »

Bonjour,

Tu peux peut-être utiliser la fonction %DECH

Erwan_35
Messages : 13
Enregistré le : ven. 09 juin 2017, 07:47:18
Localisation : Rennes

Message 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...

Erwan_35
Messages : 13
Enregistré le : ven. 09 juin 2017, 07:47:18
Localisation : Rennes

Message 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...

Répondre