cobol与图片有差异( - )和有X的差异

时间:2011-09-16 10:45:10

标签: cobol

下面两张图片之间有什么区别?

PIC X(15)

PIC ----,---,---。99。

底部只是表示顶部的另一种方式吗?

2 个答案:

答案 0 :(得分:9)

PIC X(15)代表几乎任何类型数据的15个字符,可以是 数字,字母或任何其他符号(可打印与否)。

PIC ----,---,---.99表示能够保存的数字编辑数据项 值范围为+999999999.99至-999999999.99。如果是,此项目将显示前导减号 放入其中的值为负数,否则将显示没有前导符号的数字。显示 如果前面至少有一位数字,则数字将在指定位置有逗号分隔符。

以下是某些数字显示方式的几个示例:

999999999.99 displays as 999,999,999.99
1234.56      displays as       1,234.56
0            displays as            .00
-1234567.12  displays as  -1,234,567.12
-3           displays as          -3.00

此类变量仅供显示。甚至不要想 关于与他们做算术!鉴于以下数据声明:

01 DISP-NBR   PIC ----,---,---.99.
01 NBR        PIC S9(9)V99.

以下MOVE操作均有效

MOVE 1234.56 TO NBR
MOVE 1234.56 TO DISP-NBR

然而,

ADD 1 TO NBR

完全有效,但......

ADD 1 TO DISP-NBR

会给你一个编译错误。即使DISP-NBR包含数字数据,它也只在显示中 格式。您需要使用纯数字的数据项进行数学运算,然后使用MOVE它们来显示字段 '漂亮印刷'。

This table 描述了可能在COBOL中使用的所有PICTURE元素以及它们的用途。

答案 1 :(得分:2)

第一个可以有任何字母数字字符。

第二个用于格式化数字。短划线表示如果您有一个负数,则会在数字的旁边(左侧)显示一个破折号。只显示一个破折号。如果数字为正数,则每个破折号都会显示一个空格。