数据类型规范“9(7)V9T”的作用是什么?意思是?
在我读到的一些功能规范中,他们正在谈论带有 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
COBOL PICTURE 字符串,例如
9(7)V9T
指定基本特征和编辑要求数据项。
9
表示十进制数字,(7)
是前一个字符的重复因子。在这种情况下一个
9
。V
是隐含的小数点。这都是标准的 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 elementarydata item. A
9
represents a decimal digit, the(7)
is a repetition factor for the preceding character. In this casea
9
. TheV
is an implied decimal point. This is all standard COBOL. So far we have an 8 digit decimal number withan implied decimal point between the 7th and 8th digits.
The
T
is a bit of a curve ball. I have neveractually 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 upperhalf 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 the9(7)V9T
description you have. Thisdata 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.其他答案的替代方案是,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.