COBOL语言数据类型转换方法COBOL语言数据类型转换方法.doc

COBOL语言数据类型转换方法COBOL语言数据类型转换方法.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
COBOL语言数据类型转换方法COBOL语言数据类型转换方法

COBOL语言数据类型转换方法 计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。目前,这些工作大多数是在IBM ES9000主机的SAFE应用系统平台上进行,该系统联机程序和联机计息程序是用IBM 370汇编语言实现的。为方便汇编语言读写,在VSAM文件存储的数据中,数据存放格式进行了特殊的定义。如日期存放采用X(3)型,01年03月15日,存入EBCD码为X‘010315’。在进行年度计息时,为了实现各种复杂的运算工作,一般采用COBOL语言来实现各种运算。而采用COBOL语言读取X(3)型数据时,读出的是字符型数据,不能直接进行运算,必须转换为COBOL数据类型的数据后才能进行相应处理。如刚才的X‘010315’,需要转换为内部十进制数据X‘0010315C’。本文介绍一种用COBOL语言实现字符型X(3)与内部十进制数据相互转换的方法。 由X(3)型转换为内部十进制 由于日期数据总是大于零,在COBOL语言的工作单元节定义变量DATE-FIRST后,再追加定义COBOL语言的最小数据单元X‘000C’,即十进制12。由于重定义DATE-CASE为DATE-CHANGE后,DATE-CHANGE是原日期数据的1000倍,于是要在过程部将DATE-CHANGE除以1000。 首先,在COBOL程序WORKING-STORAGE SECTION. 中定义如下内容: WORKING-STORAGE SECTION. 01 DATE-CASE. 02 DATE-FIRST PIC X(3).?? 02 DATE-SIGN PIC 9(4) COMP VALUE 12.;定点二进制数?? 01 DATE-CHANGE REDEFINES DATE-CASE PIC 9(9) COMP-3. ;内部十进制数据 01 DATE-HEX PIC X(3). ; 转换前数据 01 DATE-DEC PIC S9(7)COMP-3 . ; 转换后数据 然后,在过程部PROCEDURE DEVISION.中加入如下语句: PROCEDURE DEVISION. MOVE DATE-HEX TO DATE-FIRST . COMPUTE DATE-CHANGE = DATE- CHANGE / 1000.?? MOVE DATE-CHANGE TO DATE-DEC. 由内部十进制转换为X(3)型 在进行相反的转换时,要消除因COBOL语言数据类型标志“C”引起的原日期数据前多加的一个0,所以需要将转换数据乘以10,再取出前6位数据即可。 首先,在COBOL程序WORKING-STORAGE SECTION. 中定义如下内容: WORKING-STORAGE SECTION. 01 WORK-DATE PIC S9(7) COMP-3. 01 AA REDEFINES WORK-DATE. 02 A1 PIC X(3). 02 A2 PIC X(1). 01 DATE-HEX PIC X(3). ;转换后数据 01 DATE-DEC PIC S9(7) COMP-3. ;转换前数据 然后,在过程部PROCEDURE DEVISION.中加入如下语句即可: PROCEDURE DIVISION.?? MOVE DATE-DEC TO WORK-DATE。 COMPUTE WORK-DATE=WORK-DATE*10. MOVE A1 TO DATE-HEX . =================================================================== 用法子句(USAGE子句) 使用用法(USAGE)子句可以使程序设计者自由选挥数据杯内存中的存放形式。譬如,数据项A和B是需要多次进行运算,如果用外部十进制形式则来回转换会大大降低运算速度,这时,可以选择A和B为定点二进制形式或内部浮点形式.如果数据项C和D轻加运算次数少,而且需要多次打印出C和D的结果,这时用外部十进制比较适合,因为它最适合打印的要求,不必再进行转换。 USAGE IS DISPLAY/COMP DISPLAY (标准数据形式。一个字节放一字符) COMP 定点二近制形式 COMP-1:内部短浮点形式 COMP-2:内部长浮点形式 COMP-3:内部十进制形式如果对组合项描述为某一种存放形式,则表示这个组合项的下属各初等项都是这 种形式。 USAGE子句指定的数据存放形式不应与PIC子句指定的数据类型矛盾.长、短浮点形式己确定了内存的长度,不应再用PIC子句. 用WRITE语句输出时,是直接按内存中存放数据形式输出(不加转换的).这是和用DISPLAY

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档