9型转x型 cobol_浅谈cobol的几种数据类型

浅谈

cobol

的几种数据类型

COBOL

中使用

PICTURE

子句来定义数据类型

.

主要的数据类型有以下几类

,

我将分几篇文章

分别讲述他们的使用和注意的地方

.

类型

示例

说明

字母形

A(2)

只能使用

26

个字符和空格

.

字符形

X(2)

可以使用字符集定义的字符和数字

数字形

S9V99

数字形有三个类型

, binary, packed decimal, zoned decimal.

数字编辑

-zz9.99

用于格式化数值输出

其他如

DBCS

类型

,

浮点形在

COBOL

使用很少

.

对于字符

,

字母形都比较好理解

,

所占字符数

,

就是其定义的个数

.

对于数字编辑形

,

仅仅用于格式化数值

,

不能进行数值运算和布尔比较

.

计算字符数需要如下计算

:

eg:

-zz99.99

所占字符数就是计算所有定义字符数

,

1(-)+2(zz)+2(99)+1(.)+2(99)=8.

其中

-

号表示负数显示

-

,

正数不显示

+

. zz

表示前导

0,

就是不显示前面的

0.

eg:

PICTURE         Value of Data     Edited Result

-ZZ99.99           +123.45             123.45

-ZZ99.99           -123.456         - 123.45

至于详细的各类符合和数值编辑的使用

,

将会专门写一章来讲述

.

我们详细说一下数值形

,

按照带不带符合

,

可以区分符合形

,

非符合形

.

安装存储类型

分为

binary, packed decimal, zoned decimal.

以下举例详细说明

,

zone decimal

一般称

9

. eg 9(4)V99

或者

s9(4)V99,

每个

9

占一位

,

符号和

V

占位

.

示例就分别是

6.

如果这个值是

1234.56,

在内存存储分别是

'F1F2F3F4F5F6',

'F1F2F3F4F5C6'.

对于无符号

,

就是

123456

EBCDIC

,

对于带符号

,

对于正数

,

最后的

F

C

表示正

,

负数为

D

表示负

.

示例就是

'C6'.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
COBOL 中,X 和 9 都是数据类型,但是它们的用途略有不同。 X 数据是用于表示字符或字符串的数据类型,而 9 数据则用于表示数字。因此,当比较 X 和 9 数据时,需要进行类换。 在 COBOL 中,可以使用以下函数将 X 数据换为 9 数据: ``` FUNCTION FUNCTION-NAME (data-1, data-2) ``` 其中,FUNCTION-NAME 是要使用的函数名称,data-1 是要换的 X 数据,data-2 是结果存储到的 9 数据。 例如,如果要将 X 数据“1234”换为 9 数据,可以使用以下代码: ``` 01 X-DATA PIC X(4) VALUE '1234'. 01 N-DATA PIC 9(4). ... MOVE FUNCTION NUMVAL (X-DATA) TO N-DATA. ``` 在上面的代码中,NUMVAL 是 COBOL 内置函数之一,用于将 X 数据换为 9 数据。函数的结果存储在 N-DATA 中,它是一个 9 变量。 同样,可以使用以下函数将 9 数据换为 X 数据: ``` FUNCTION FUNCTION-NAME (data-1, data-2) ``` 其中,FUNCTION-NAME 是要使用的函数名称,data-1 是要换的 9 数据,data-2 是结果存储到的 X 数据。 例如,如果要将 9 数据“1234”换为 X 数据,可以使用以下代码: ``` 01 N-DATA PIC 9(4) VALUE 1234. 01 X-DATA PIC X(4). ... MOVE FUNCTION EDIT (N-DATA, 'XXXX') TO X-DATA. ``` 在上面的代码中,EDIT 是 COBOL 内置函数之一,用于将 9 数据换为 X 数据。函数的结果存储在 X-DATA 中,它是一个 X 变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值