字母数字移动到数字变量导致意外结果。下面是代码FYR:字母数字移动到数字
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-VAR-STR PIC X(3) VALUE SPACES.
01 WS-VAR-NUM PIC 9(3) VALUE ZEROES.
PROCEDURE DIVISION.
MOVE '1' TO WS-VAR-STR
MOVE WS-VAR-STR TO WS-VAR-NUM
DISPLAY 'STRING > ' WS-VAR-STR '<MOVED> ' WS-VAR-NUM '<'
IF WS-VAR-NUM >= 40 AND <= 59
DISPLAY 'INSIDE IF >' WS-VAR-NUM
ELSE
DISPLAY 'INSIDE ELSE >' WS-VAR-NUM
END-IF
GOBACK
.
OUTPUT:
STRING > 1 <MOVED> 1 0<
INSIDE ELSE >1 O
结果是和的bizzare想弄清楚为什么“1”移到“1 0”到数字变量,有趣有调理NO问题它。请分享您的观点。感谢您的关注。
我会检查这是不是一个DISPLAY错误(或功能)。试着写一个'IF WS-VAR-NUM EQUAL 1 THEN ...'来检查真实内容。 – 2011-05-26 05:53:59
尝试移动'001'到WS-VAR-STR。将'1'移至WS-VAR-STR移动'1'。移动不会进行类型转换。 – tonyriddle 2011-05-26 14:06:45
@tony请参阅此示例http://www.tek-tips.com/viewthread.cfm?qid=705710 – 2011-05-26 15:55:42