如何在.net中将数字格式化为S9(5)V99 ascii

2024-03-15

我一直在寻找 s9(5)v99 但得到了不同的信息,而且不太清楚。有人可以展示如何转换或转换公式吗?谢谢


您在这里向我们展示的是 这PICTURECOBOL 数据声明的子句部分。

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被展示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在.net中将数字格式化为S9(5)V99 ascii 的相关文章

随机推荐