Subject: | |
From: | |
Reply To: | |
Date: | Tue, 21 Sep 1999 17:20:23 +0200 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Hi All,
I have come across an annoying piece of behaviour from the
the otherwise useful COBOL85 function, NUMVAL.
As the output of demo program below shows,
the conversion process seems to truncate the input value,
depending on the number of implied decimal places in the result.
Is this is a 'known' problem ?
Regards,
Tad.
Passing the string "8236.8 " to NUMVAL gives,
OUTPUT :-
RESULT1 =008236.8
RESULT2 =008236.79
RESULT3 =008236.799
RESULT4 =008236.8000
END OF PROGRAM
SOURCE :-
$CONTROL POST85
IDENTIFICATION DIVISION.
PROGRAM-ID. NUMVALTEST.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FILLER.
03 ANUMBER PIC X(12) VALUE "8236.8 ".
03 RESULT1 PIC 9(06)v9(1).
03 RESULT2 PIC 9(06)v9(2).
03 RESULT3 PIC 9(06)v9(3).
03 RESULT4 PIC 9(06)v9(4).
* ---------------------------------------------------------------*
PROCEDURE DIVISION.
A-000.
COMPUTE RESULT1 = FUNCTION NUMVAL (ANUMBER).
DISPLAY "RESULT1 =" RESULT1.
COMPUTE RESULT2 = FUNCTION NUMVAL (ANUMBER).
DISPLAY "RESULT2 =" RESULT2.
COMPUTE RESULT3 = FUNCTION NUMVAL (ANUMBER).
DISPLAY "RESULT3 =" RESULT3.
COMPUTE RESULT4 = FUNCTION NUMVAL (ANUMBER).
DISPLAY "RESULT4 =" RESULT4.
A-999.
EXIT.
END PROGRAM NUMVALTEST.
PAGE 0001 COBOL II/iX HP31500A.04.19 [85] Copyright Hewlett-Packard CO. 1987
-----------------------------------------------------------------------------
This message is confidential; its contents do not constitute a
commitment by Paribas except where provided for in a written agreement
between you and Paribas. Any unauthorised disclosure, use or
dissemination, either whole or partial, is prohibited. If you are not
the intended recipient of the message, please notify the sender
immediately.
Ce message est confidentiel ; son contenu ne représente en aucun cas un
engagement de la part de Paribas sous réserve de tout accord conclu par
écrit entre vous et Paribas. Toute publication, utilisation ou
diffusion, même partielle, doit être autorisée préalablement. Si vous
n'êtes pas destinataire de ce message, merci d'en avertir immédiatement
l'expéditeur.
|
|
|