cobol语言数据类型转换方法

cobol语言数据类型转换方法

ID:8931698

大小:229.00 KB

页数:17页

时间:2018-04-12

cobol语言数据类型转换方法_第1页
cobol语言数据类型转换方法_第2页
cobol语言数据类型转换方法_第3页
cobol语言数据类型转换方法_第4页
cobol语言数据类型转换方法_第5页
资源描述:

《cobol语言数据类型转换方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、COBOL语言数据类型转换方法计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。目前,这些工作大多数是在IBMES9000主机的SAFE应用系统平台上进行,该系统联机程序和联机计息程序是用IBM370汇编语言实现的。为方便汇编语言读写,在VSAM文件存储的数据中,数据存放格式进行了特殊的定义。如日期存放采用X(3)型,01年03月15日,存入EBCD码为X‘010315’。在进行年度计息时,为了实现各种复杂的运算工作,一般采用COBOL语言来实现各种运算。而采用COBOL语言读取X(3)型数据时,读出的是字符型

2、数据,不能直接进行运算,必须转换为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

3、-CHANGE除以1000。首先,在COBOL程序WORKING-STORAGESECTION.中定义如下内容:WORKING-STORAGESECTION.01DATE-CASE.02DATE-FIRSTPICX(3).  02DATE-SIGNPIC9(4)COMPVALUE12.;定点二进制数  01DATE-CHANGEREDEFINESDATE-CASEPIC9(9)COMP-3.;内部十进制数据01DATE-HEXPICX(3).;转换前数据01DATE-DECPICS9(7)COMP-3.;转换后数据然后,在过程部PRO

4、CEDUREDEVISION.中加入如下语句:PROCEDUREDEVISION.MOVEDATE-HEXTODATE-FIRST.COMPUTEDATE-CHANGE=DATE-CHANGE/1000.  MOVEDATE-CHANGETODATE-DEC.由内部十进制转换为X(3)型在进行相反的转换时,要消除因COBOL语言数据类型标志“C”引起的原日期数据前多加的一个0,所以需要将转换数据乘以10,再取出前6位数据即可。首先,在COBOL程序WORKING-STORAGESECTION.中定义如下内容:WORKING-STORA

5、GESECTION.01WORK-DATEPICS9(7)COMP-3.01AAREDEFINESWORK-DATE.02A1PICX(3).02A2PICX(1).01DATE-HEXPICX(3).;转换后数据01DATE-DECPICS9(7)COMP-3.;转换前数据然后,在过程部PROCEDUREDEVISION.中加入如下语句即可:PROCEDUREDIVISION.  MOVEDATE-DECTOWORK-DATE。COMPUTEWORK-DATE=WORK-DATE*10.MOVEA1TODATE-HEX.======

6、=============================================================用法子句(USAGE子句)使用用法(USAGE)子句可以使程序设计者自由选挥数据杯内存中的存放形式。譬如,数据项A和B是需要多次进行运算,如果用外部十进制形式则来回转换会大大降低运算速度,这时,可以选择A和B为定点二进制形式或内部浮点形式.如果数据项C和D轻加运算次数少,而且需要多次打印出C和D的结果,这时用外部十进制比较适合,因为它最适合打印的要求,不必再进行转换。USAGEISDISPLAY/COMPDISPL

7、AY(标准数据形式。一个字节放一字符)COMP定点二近制形式COMP-1:内部短浮点形式COMP-2:内部长浮点形式COMP-3:内部十进制形式如果对组合项描述为某一种存放形式,则表示这个组合项的下属各初等项都是这种形式。USAGE子句指定的数据存放形式不应与PIC子句指定的数据类型矛盾.长、短浮点形式己确定了内存的长度,不应再用PIC子句.用WRITE语句输出时,是直接按内存中存放数据形式输出(不加转换的).这是和用DISPLAY语句时不同的.字符处理一.STRING 语句77  A  PIC  X(3)  VALUE ‘ABC’。

8、77  B  PIC  X(5)  VALUE  ALL“*”。PROCEDURE  DIVISON.  …    STRING  ADELIMITEDBYSIZEINTOB.  …STRING语句执行后,B中内容为AB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。