数据类型规范“9(7)V9T”的作用是什么?意思是?

发布于 2024-10-31 10:32:07 字数 113 浏览 6 评论 0原文

在我读到的一些功能规范中,他们正在谈论带有 9(7)V9T 演示的数字格式。 - 我如何解释这种格式符号? - 这种类型如何物理存储在平面文件中(例如数字?,符号?分隔符?)

谢谢您的明智回答!

In some functional specs I'm reading they are talking about a numeric format with a 9(7)V9T presentation.
-How do I interprete this kind of format notations?
-How is this type physically stored in a flatfile (e.g. numeric?, signs? separators?)

Thank you for your wise answers!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初见你 2024-11-07 10:32:07

COBOL PICTURE 字符串,例如 9(7)V9T 指定基本特征和编辑要求
数据项。 9 表示十进制数字,(7) 是前一个字符的重复因子。在这种情况下
一个9V 是隐含的小数点。这都是标准的 COBOL。到目前为止,我们有一个 8 位十进制数
第 7 位和第 8 位之间隐含的小数点。

T 有点像曲线球。我从来没有
实际上以前就遇到过。然而,
我搜索了此参考
它指出 PICTURE 字符串“... 中的 T 表示显示数字字段应仅将符号插入到上部
如果值为负数,则为最后一个字节的一半”。不幸的是,作者没有提供参考,所以我无法
给你这个约定的来源。

IBM 平台上 PIC S9(7)V9 USAGE DISPLAY 的 COBOL 图片符合您所拥有的 9(7)V9T 描述。这
数据项
需要8个字节来表示。 8 位数字中的每一位都用符号表示在每个字节的低 4 位中
记录在低位字节的高4位。这恰好是 IBM 选择实现分区十进制的方式。
使用 9(7)V9T 表示使得表示更加明确。

A COBOL PICTURE string, such as 9(7)V9T specifies the general characteristics and editing requirements of an elementary
data item. A 9 represents a decimal digit, the (7) is a repetition factor for the preceding character. In this case
a 9. The V is an implied decimal point. This is all standard COBOL. So far we have an 8 digit decimal number with
an implied decimal point between the 7th and 8th digits.

The T is a bit of a curve ball. I have never
actually come across it before. However,
I Goolged up this reference.
It states that a T in a PICTURE string "... indicates that a display numeric field should only insert the sign into the upper
half of the last byte if the value is negative". Unfortunately, the author doesn't provide a reference so I can't
give you the source of this convention.

A COBOL picture of PIC S9(7)V9 USAGE DISPLAY on an IBM platform conforms to the 9(7)V9T description you have. This
data item
takes 8 bytes to represent. Each of the 8 digits are represented in the low 4 bits of each byte with the sign
recorded in the upper 4 bits of the low order byte. This just happens to be the way IBM choose to implement zoned-decimal.
Using a 9(7)V9T representation makes the representation explicit.

云之铃。 2024-11-07 10:32:07

其他答案的替代方案是,T 是在数值之后显示或打印的字符,表示特定状态,类似于使用 CR 表示信用值或使用尾随“-”表示负值。

An alternative to the other answers is that the T is a character to be displayed or printed after the numeric value to represent a specific state, similar to use of CR for credit value or a trailing '-' to indicate a negative value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文