Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How do I convert COBOL Comp-3 packed to ASCII?
Message
De
07/03/2003 13:32:34
James Hansen
Canyon Country Consulting
Flagstaff, Arizona, États-Unis
 
 
À
07/03/2003 10:59:46
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00762419
Message ID:
00762884
Vues:
19
I don't think that will work because the upper nibble will come out to be effectively multiplied by 16, not 10. E.g.: hex 21 is decimal 33, not decimal 21. To handle different lengths, could you just substitute len(S) for the 6?

...Jim

>Well, after careful thought I realize that I was trying too hard to come up with a generic algorithm, that fit all cases abd all lengths. Your example did not work for me but gave me the idea to simplify.
>
>I have a fixed length, so I all I need is to keep shifting numbers:
>
>* sample string (should translate to $31.05)
>S = CHR(02)+CHR(00)+CHR(00)+CHR(00)+CHR(31)+CHR(05)
>Y = 0
>for I = 2 to 6
>   C = asc(substr(S,I,1))
>   * just shift the previous accumulated result to the left
>   Y = (Y * 100) + C
>endfor
>Y = Y / 100
>if left(S,1) = chr(01)
>   Y = - Y
>ENDIF
>
>
>So, your message got me thinking.
>I must be getting old, not seeing how simple it was, and trying to do it the hard way. Thanks.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform