PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Format monétaire en Hexadecimal
Format monétaire en Hexadecimal
Iniciado por jblhirondel, 29,jun. 2020 18:59 - 1 respuesta
Publicado el 29,junio 2020 - 18:59
Bonjour à tous,
je cherche à savoir comment interpréter le champ Monétaire en Hexadecimal.
Il ne semble pas être classique (float long ou double)
Auriez-vous une idée de la formule de conversion s'il vous plait ?

80 DD F2 31 00 00 00 00 00 00
doit devenir
285,000000

Merci à tous

JB
Miembro registrado
948 mensajes
Publicado el 30,junio 2020 - 17:59
Bonjour
êtes vous sur à 100% que : 80 DD F2 31 00 00 00 00 00 00 doit devenir 285,000000 ?

Si j'exécute le code suivant :
mMonaie est un monétaire
ptr est un entier système = &mMonaie
i est un entier
MonOctet est un entier sans signe sur 1 octet
lstOctet est une chaîne = "80 DD F2 31 00 00 00 00 00 00"

FOR i = 1 _TO_ 10
MonOctet = Val(ExtraitChaîne(lstOctet,i," "),"x")
Transfert(ptr+i-1, &MonOctet, 1)
END
Trace(mMonaie)

j"obtient : 838

et le code suivant :
mMonaie est un monétaire = 285
ptr est un entier système = &mMonaie
i est un entier
MonOctet est un entier sans signe sur 1 octet
lgResult est une chaîne

FOR i=0 _TO_ 9
Transfert(&MonOctet, ptr+i, 1)
lgResult += " " + NumériqueVersChaîne(MonOctet,"02X")
END
Trace(lgResult)

donne 40 C1 FC 10 00 00 00 00 00 00

--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi