您在这里向我们展示的是
这PICTURE
COBOL 数据声明的子句部分。
COBOL 数据声明有点奇怪,需要一些时间来适应。这是一个介绍性的链接
教程关于COBOL 数据声明 http://www.csis.ul.ie/COBOL/Course/DataDeclaration.htm#part2。
这应该可以帮助您开始。
您在问题中给出的 PICture 子句正在使用以下内容定义一个数字项
特征:
-
S
- 引导标志
-
9(5)
- 5 位小数
-
V
- 隐含小数点
-
99
- 隐含小数点后 2 位数字
基本上,您告诉 COBOL 编译器定义一个能够保存
值 -99999.99 到 +99999.99。编译器将如何实现这一点
要求视具体情况而定USAGE
条款。但是,对于包含
固定小数位,“正常”用法是PACKED-DECIMAL
or COMP-3
(这些只是
不同的名称表示相同的事物)。这link http://www.3480-3590-data-conversion.com/article-packed-fields.html提供一些有关打包十进制数据的存储表示的介绍性信息。
压缩十进制数据对于进行小数点位数必须进行的数值计算非常有用
保持固定。
将压缩十进制数据写入报表或终端效果不是特别好。你必须
首先将其转换为DISPLAY
能够的格式。这涉及到MOVE
将压缩十进制值转换为另一个值
变量与USAGE DISPLAY
属性。假设你的压缩十进制变量被称为PACKED-DECIMAL-NBR
并保持价值-2345.01。您可以定义一个显示变量
将其保留为:
01 DISPLAY-NBR PIC +++,++9.99.
然后当需要写入/显示其中包含的值时PACKED-DECIMAL-NBR
你会
做类似的事情:
MOVE PACKED-DECIMAL-NBR TO DISPLAY-NBR
DISPLAY DISPLAY-NBR
The MOVE
将压缩十进制数转换为字符表示形式,您可以
显示在报告或终端上。价值-2,345.01
被展示。