是--- Cobol图片有效

时间:2011-10-06 09:15:14

标签: cobol

我正在对Cobol图片进行一些测试,并想知道---是否是有效图片。我是否正确地说这张图片接受-99到+99范围内的值。如果它有效,那么图片可以接受3个空格作为值吗?

例如:

12将返回12
1将返回1

干杯

2 个答案:

答案 0 :(得分:3)

---是有效的PICTURE条款。与此PICTURE对应的变量将接受-99到+99范围内的数值赋值。它不能分配非数字(例如空格)。但是,如果在为其指定数值后将DISPLAY变为MOVE ZERO,则前导零将替换为空格。因此,如果您对此项目DISPLAY,则MOVE SPACES仅限空格。尝试PICTURE此项将导致编译错误(不兼容的数据类型)。这最后一点可能看起来有点反直觉,但请记住,这种类型的USAGE子句意味着显示USAGE DISPLAY - 基本上以这种方式定义的项目用于'漂亮打印'数字。关于您可以使用MOVE项目执行的唯一操作是DISPLAY来往或来自PICTURE

编辑 - 对评论的回应

---X(2)的{​​{1}}无效。下图说明了符号可能出现在PICTURE字符串中的组合和顺序。请注意,括号不在图表中。从逻辑上讲,您可以在读取字符串之前用相应的前一个字符的出现次数替换它们。例如,X(3)读为XXX。如果您确实想要正确解析PICTURE字符串,可以使用此图表专门为它们构建BNF语法。

enter image description here

答案 1 :(得分:0)

如果这是一张数字图片,它将不接受空格。