等。目前,这些工作大多数是在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.

;转换前数据

9型转x型 cobol_COBOL语言数据类型转换方法相关推荐

  1. c语言long型对应占位符,C语言数据类型打印对应的占位符

    占位符列表char %c和%hhdunsigned char %c和%hhu%c对应字符身份,%hhd和%hhu对应数字身份short %hdunsigned short %hulong 占位符列表 ...

  2. R语言数据类型基础1 数值型、逻辑型与文本型

    R语言数据类型基础1 数值型.逻辑型与文本型 我看的R语言教材是李东风老师写的,已经跟着写了一周的代码了,但是可能是缺乏练习和总结,我相当于是打了遍字而已.所以现在又回头总结一下,里面一些太过细节的操 ...

  3. 单片机c语言字符型数据类型,单片机C语言数据类型

    本资料适合单片机C语言的初学者,可当做参考使用.牛B的人就不要看了 单片机C语言的数据类型 在最小系统的介绍中,我们已经大致了解了单片机的程序结构,下面我们来系统介绍一下. 先来简单说说C语言的标识符 ...

  4. c语言数据类型 占字节最少,C语言中int型是所占字节最短的数据类型。

    C语言中int型是所占字节最短的数据类型. 更多相关问题 [单选,A1型题] 满而不痛者,此为痞,载于() [单选,A4型题,A3/A4型题] 钱某,男,16岁,近日因饮酒饱食后出现胃脘胀满疼痛,嗳腐 ...

  5. r语言转化为python_数值型与字符型转换总结|R语言

    在日常碰到问题时出现当前"数据类型不能进行操作"的提示时还是有些脑壳疼,所以这次整理了针对R数据类型转换的总结.理论部分主要是R for Data Science的向量节选翻译.& ...

  6. 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析

    编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言概念辨析 转自:https://blog.csdn.net/u010533843/article/details/76215487 编译型和解 ...

  7. 前端:JS/17/前篇总结(JS程序的基本语法,变量),数据类型-变量的类型(数值型,字符型,布尔型,未定义型,空型),数据类型转换,typeof()判断数据类型,从字符串提取整数或浮点数的函数

    JS程序的基本语法 1,JS是区分大小写的,如:Name和name是不同的: 2,JS中每一条语句,一般以英文的分号(;)结束,在Java中是严格地一定要加上分号,不然会报错:但在JavaScript ...

  8. 『R语言Python』建模前的准备:连续型与离散型变量探索,离散型变量转为虚拟变量

    在建立模型之前,我们常要先对数据的类型作出判断,连续型数据可以不做处理,而离散型数据则可能需要转为虚拟变量.下文使用R语言中的经典数据集 mtcarsmtcarsmtcars 进行演示 Python: ...

  9. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法、数据类型(整型、布尔型、浮点型、字符串型)

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法.数据类型(整型.布尔型.浮点型.字符串型) PHP语法是什么样的,有哪些数据类型,有些什么变量.本文对PHP语法.数据类型(整型.布尔型 ...

最新文章

  1. 智能哲学:“学习机器”与“机器学习” ——解读图灵思想中的人工智能
  2. js学习日记-new Object和Object.create到底干了啥
  3. No changes detected解决方案
  4. Google的“机器人情结”:两次合计36亿美元的人工智能收购
  5. 求一个有限长度字符串 最长的有序可重复字符串长度
  6. 快速上手Google C++ 测试框架googletest
  7. mysql表数据量太大,达到了1亿多条数据,除了分库分表之外,还有没有其他的解决方式?
  8. JSON.parse() 和 JSON.stringify()使用
  9. PHP for循环时模拟计算进度
  10. matlab中图像加噪函数imnoise
  11. 荷兰国旗问题(C语言)
  12. 【财经期刊FM-Radio|2020年11月16日】
  13. 对于pdf转图片linux乱码的解决
  14. 简简单单说外键和级联
  15. 中秋节前能跟客户聊的!
  16. pin limiting the speed
  17. 计算机网络——第二章
  18. html5定义一个变量,JavaScript 变量
  19. Codeforces - Vowels
  20. RT3070 WIFI模块Android调试全记录

热门文章

  1. junit5中Assertions替代了Assert
  2. 如何设计一个亿级消息量的 IM 系统
  3. ARTS Week 26
  4. 第15.39节、splitDockWidget和tabifyDockWidget嵌套布局QDockWidget的PyQt人机对话案例:笨笨机器人
  5. 实现微信跳转外部浏览器从而生成微信跳转链接
  6. 交流电机驱动器中的隔离电压感应
  7. 【数据压缩】WAV文件格式
  8. 人力资源管理系统(现成版)
  9. 添加局域网打印机(网络打印机)
  10. 通过设置静态路由实现内外网正常使用