前回までの記事で、COBOLプログラム上で使用するデータを定義するときの概念やルールについて見てきました。
今回は、データ型について見ていきます。
データ項目(変数)を定義する際、名前やレベル番号の他に、データ型とデータ項目の長さ(桁数)も指定します。
COBOLで扱えるデータ型は、数値形式、英数字形式、書式編集形式の3つに大別できます。
数値形式
タイプ識別子 | 内容 |
---|---|
9 | 数字1桁 |
S | 符号付きの値(S指定のない項目は正の値として扱う) |
V | 小数点の位置 |
記述例 | バイト数 | 意味 |
---|---|---|
9(5) | 5バイト | 数字5文字で十進5けたの符号なし整数を表す |
9(5)V99 | 7バイト | 数字7文字で十進整数部5けた、小数部2けたの符号なし数を表す |
S9(5) | 5バイト | 十進5けたの符号あり整数を表す |
※9(5)と99999は同じ意味。
英数字形式
タイプ識別子 | 内容 |
---|---|
X | 任意の文字( 英字、数字、空白含む) |
記述例 | バイト数 | 意味 |
---|---|---|
X(50) | 50バイト | 英数字50文字 |
書式編集形式
タイプ識別子 | 内容 |
---|---|
Z | ゼロサプレス。指定した桁数に満たない場合、その部分を空白に置き換える |
, | カンマが挿入される文字位置 |
. | 位置合わせ用の小数点を表す |
\ | 通貨記号。ゼロサプレスと同等 |
記述例 | バイト数 | 意味 |
---|---|---|
ZZZ,ZZ9 | 7バイト | 整数部3けた(ゼロサプレス)+カンマ+整数部3けた(ゼロサプレス) |
ZZZZZ9.999 | 11バイト | 整数部6けた(ゼロサプレス)+小数点のピリオド+小数部3けた |
データ型の指定とあわせて、データ項目の長さ(桁数)を指定するのがCOBOLの特徴です。