惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Securelist
Schneier on Security
Schneier on Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Project Zero
Project Zero
Spread Privacy
Spread Privacy
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tailwind CSS Blog
博客园_首页
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
O
OpenAI News
J
Java Code Geeks
T
Tenable Blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
The GitHub Blog
The GitHub Blog
T
Threatpost
月光博客
月光博客
H
Heimdal Security Blog
Security Latest
Security Latest
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
D
Docker
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net
V
Visual Studio Blog
H
Help Net Security

博客园 - 秒针

简单常用日语汇总 IBM:员工职业发展计划 向最佳雇主学什么? - 秒针 - 博客园 专访IBM HR规划经理张榕 探求IBM招聘经 IBM的用人6诀:争、选、育、用、留、舍 贴个有关IBM招聘的地址! 获取影响行数和ID的存储过程 修正过的通用分页存储过程 - 秒针 - 博客园 真险! cobol数组操作 COBOL程序格式 写好软件的75条 cobol语法 3.14@深圳。。。 SUSE10真的很不错! haha,SUSE10 is installed in my PC! 搞了一天的suse还没没装好! 英语面试〔转〕 彻底放弃了一直钟爱的紫光输入法 第一次面试被BS掉了!
COBOL语言数据类型转换方法
秒针 · 2006-03-29 · via 博客园 - 秒针

计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。目前,这些工作大多数是在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 .