use*_*973 5 .net cobol number-formatting
我一直在寻找s9(5)v99,但获得了不同的信息,并不是很清楚.有人可以显示如何或转换公式.谢谢
Nea*_*alB 16
您在此处向我们展示PICTURE的是COBOL数据声明的子句部分.
COBOL数据声明有点奇怪,需要一些时间来习惯.这是一个关于COBOL数据声明的入门教程的链接.这应该让你开始.
您在问题中给出的PICture子句定义了一个具有以下特征的数字项:
S - 领先的标志9(5) - 5位小数V - 隐含的小数点99 - 隐含小数点后2位数基本上,您告诉COBOL编译器定义一个能够保存值-99999.99到+99999.99的数字变量.编译器究竟如何满足此请求取决于具体USAGE条款.但是,对于包含固定小数位的数字项,"正常"USAGE是PACKED-DECIMAL或COMP-3(这些只是不同的名称,意思相同).此链接
提供有关压缩十进制数据的存储表示的一些介绍性信息.
打包的十进制数据对于进行数字计算非常有用,其中小数点的数量必须保持固定.
将压缩十进制数据写入报表或终端不能很好地工作.您必须先将其转换为有DISPLAY能力的格式.这涉及MOVE将压缩十进制值与具有USAGE DISPLAY属性的另一个变量相关联.假设您的压缩十进制变量被调用
PACKED-DECIMAL-NBR并保持值-2345.01.您可以定义一个显示变量来将其保存为:
01 DISPLAY-NBR PIC +++,++9.99.
Run Code Online (Sandbox Code Playgroud)
然后,当写入/显示PACKED-DECIMAL-NBR您包含的值时,将执行以下操作:
MOVE PACKED-DECIMAL-NBR TO DISPLAY-NBR
DISPLAY DISPLAY-NBR
Run Code Online (Sandbox Code Playgroud)
该MOVE转换填充十进制数的字符表示,你可以在报告或在终端上显示.-2,345.01显示该值.
PIC S9(5)v99不是数字格式。它描述了数据的存储方式及其含义。例如,存储为“-0010000”的数字表示-100.00。
您到底想实现什么目标?decimal您是否正在尝试向 COBOL 程序发送-100.00?
PIC -99,999.00 是一种数字格式。它指定如果数字为负数,则使用前导减号,使用小数点前五位数字,在千位之间使用逗号,小数点,然后正好两位数。存储在字段中的数字PIC S9(5)V99可以合理地移动到PIC -99,999.00字段中。
| 归档时间: |
|
| 查看次数: |
49482 次 |
| 最近记录: |