[COBOL] conversion decimal en entier
Bonjour à tous,
Mon problème est tout bête mais là je séche
Voila j'ai un PIC 9(13)v99 que je voudrais convertire en entier
Je fait donc multiply myVar by 100 giving result
ma variable result est defini comme un PIC 9(15)
lorsque je fait tourner mon programme, si j'ai 1992.35 dans myVAr, en sorti j'ai 1992 alors que je devrais avoir 199235
Merci d'avance
Mon problème est tout bête mais là je séche
Voila j'ai un PIC 9(13)v99 que je voudrais convertire en entier
Je fait donc multiply myVar by 100 giving result
ma variable result est defini comme un PIC 9(15)
lorsque je fait tourner mon programme, si j'ai 1992.35 dans myVAr, en sorti j'ai 1992 alors que je devrais avoir 199235
Merci d'avance
Configuration: Windows XP Firefox 2.0.0.2
1 réponse
-
ModérateurSalut,
pourquoi tu n'as pas une redéfinition à un niveau supérieur de ta variable ?
01 toto pic 9(14).
02 titi pic 9(12)v99.
La virgule est virtuelle, donc tu devrais avoir en sortie un 9(14).
-
-
Modérateur@konterianonon, pas un replacing, un truc comme ça :
01 toto pic 9(14).
02 titi pic 9(12)v99.
Avec un niveau 01 et un niveau 02.
-
@bluxça me met une erreur a la compilation
BLANK WHEN ZERO, JUSTIFIED, PICTURE, and SYNCHRONIZED clauses invalid for a group item
En gros si sa peut t'aider, j'ai un montant en euro dans un fichier avec 2 chifffre apres la virgule et je le voudrais en centime. Ha oui je vient de me rendre compte que c pas un pic s9(13)v99 a mettre dans un pic 9(15) -
Modérateur@bluxJ'ai plus trop de souvenirs, mais tu pourrais essayer :
01 TOTO.
02 TITI PIC 9(13)V99.
02 TUTU REDEFINES TITI PIC 9(15).
-
@bluxj'ai fait ça
01 SLD_CENT PIC 9(13)v99. 01 SLD_CENT2 redefines SLD_CENT PIC s9(15).
mais ça change rien, j'ai toujours 199 au lieu de 199235
-