数字类型(PIC 9):当将一个位数较长的数字赋值给一个位数较短的数字变量时,会从右侧开始截断。
01 LongNum PIC 9(10) VALUE 1234567890.
01 ShortNum PIC 9(5).
MOVE LongNum TO ShortNum.
在上述示例中,LongNum 是一个占据 10 位的数字变量,而 ShortNum 是一个占据 5 位的数字变量。当执行 MOVE 语句时,LongNum 的值 1234567890 会被赋值给 ShortNum。由于 ShortNum 只能容纳 5 个数字,所以会从右侧开始截断,保留最右侧的 5 个数字 “67890”,而左侧的部分会被丢弃。
字符类型(PIC X):当将一个较长的字符赋值给一个较短的字符变量时,会从左侧开始截断。
01 LongString PIC X(10) VALUE "Hello World".
01 ShortString PIC X(5).
MOVE LongString TO ShortString.
在上述示例中,LongString 是一个占据 10 个字符的字符串变量,而 ShortString 是一个占据 5 个字符的字符串变量。当执行 MOVE 语句时,LongString 的值 “Hello World” 会被赋值给 ShortString。由于 ShortString 只能容纳 5 个字符,所以只有最左侧的 5 个字符 “Hello” 会被赋值给 ShortString,而后面的字符 " World" 会被截断丢弃。