In the Cobol language: I use a numeric variable that is initially defined as the size. If the user typed a number smaller than the size I declared, there are unnecessary zeros at the beginning. How do I delete leading zeros in the variable?
This is what I did: but it didn't work
IDENTIFICATION DIVISION.
PROGRAM-ID. REMOVE.
AUTHOR. TZS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 VN-CONSTANT PIC 9(2) VALUE 5.
01 VN-NUM PIC 9(5).
01 VA-STNUM PIC X(5).
01 VN-NUM-OF-SPACES PIC 9.
01 VA-ENDNUM PIC X(5).
01 VA-RESULT PIC X(4).
PROCEDURE DIVISION.
DISPLAY 'ENTER A NUMBER UP TO 5 DIGIT:'.
ACCEPT VN-NUM.
PERFORM CALL-CHECK-NO-SPACES.
STOP RUN.
CALL-CHECK-NO-SPACES.
MOVE VN-NUM TO VA-STNUM.
INSPECT VA-STNUM TALLYING VN-NUM-OF-SPACES
FOR LEADING SPACES
DISPLAY VN-NUM-OF-SPACES
IF VN-NUM-OF-SPACES NOT EQUAL TO 0
SUBTRACT VN-NUM-OF-SPACES FROM VN-CONSTANT.
COMPUTE VN-NUM-OF-SPACES = VN-NUM-OF-SPACES + 1.
MOVE VA-STNUM ( VN-NUM-OF-SPACES : VN-CONSTANT )
TO VA-ENDNUM.
DISPLAY '_NO-SPACES__' VA-ENDNUM.
DISPLAY 'VN-NUM___' VA-STNUM.
DISPLAY '_VA-NUM__' VA-STNUM.
MOVE FUNCTION NUMVAL(ACCPT-NUM) TO USED-NUM... or evenTO ACCPT-NUM.