カテゴリ: COBOL 更新日: 2025/07/02

COBOLの編集記述子を完全ガイド!初心者でもわかるPIC Z・*・$の使い方

編集記述子(PIC Z, \*, \$など)の書き方を解説
編集記述子(PIC Z, \*, \$など)の書き方を解説

先生と生徒の会話形式で理解しよう

生徒

「COBOLで数字を見やすく表示する方法ってありますか?」

先生

「はい、COBOLでは『編集記述子』という仕組みを使って、数字を整えて表示することができますよ。」

生徒

「編集記述子って何ですか?使い方も知りたいです。」

先生

「それでは、PIC Z やアスタリスク(*)、ドル記号($)など、基本的な編集記述子の使い方を一緒に学んでいきましょう!」

1. 編集記述子とは?

1. 編集記述子とは?
1. 編集記述子とは?

COBOLの編集記述子とは、プログラム内で数値を表示する際に、桁数や表示形式を整えるための文字や記号のことです。COBOLではPIC句(ピクく)を使ってデータの表示形式を指定します。

例えば、数字の頭にゼロを表示したくなかったり、カンマやドル記号を付けたいときに使います。こうした装飾を施すことで、見やすく分かりやすい出力ができるようになります。

2. PIC Z の基本

2. PIC Z の基本
2. PIC Z の基本

PIC Zは、数値の左側にある不要なゼロ(0)を表示しないための記述子です。たとえば、金額を表示する際に、000123 のようなゼロは不要ですよね。そんなときに便利なのが Z です。

例えば、次のような記述を見てください。


01 KINGAKU     PIC 9(5) VALUE 23.
01 HYOUJI      PIC Z(5).
...
MOVE KINGAKU TO HYOUJI
DISPLAY HYOUJI

このときの出力結果は以下のようになります。


   23

本来「00023」となるところを、「Z」にしたことで左側のゼロが空白になっています。

3. アスタリスク(*)の使い方

3. アスタリスク(*)の使い方
3. アスタリスク(*)の使い方

*(アスタリスク)は、Zと似ていますが、ゼロをアスタリスクに置き換えて表示します。これは通帳や請求書などで金額を隠すときに使われる形式です。

たとえば、以下のように書きます。


01 KINGAKU     PIC 9(5) VALUE 23.
01 HYOUJI      PIC **,**9.
...
MOVE KINGAKU TO HYOUJI
DISPLAY HYOUJI

実行結果は次のようになります。


**,**3

このように、左側のゼロ部分は「*」に置き換えられています。

請求書で「***123」といった表記を見たことがある人もいると思いますが、それをCOBOLで再現できるわけです。

4. ドル記号($)の使い方

4. ドル記号($)の使い方
4. ドル記号($)の使い方

$(ドル記号)は、数値の前に通貨記号(ドルや円)を表示するための記述子です。金額の先頭に自動でドル記号を配置できます。


01 KINGAKU     PIC 9(5) VALUE 2300.
01 HYOUJI      PIC $ZZ,ZZ9.
...
MOVE KINGAKU TO HYOUJI
DISPLAY HYOUJI

実行結果は以下のようになります。


$ 2,300

「$ZZ,ZZ9」と書くことで、「$ 2,300」という分かりやすい表記になります。ドルでなく円やユーロの記号は自動では表示されないので、必要に応じてDISPLAY文の前後で記号を追加する方法もあります。

5. 編集記述子の組み合わせ

5. 編集記述子の組み合わせ
5. 編集記述子の組み合わせ

これらの編集記述子は、単独だけでなく組み合わせて使うこともできます。たとえば、左側のゼロを空白にした上で、金額にカンマやドル記号をつけたいときはこうします。


01 KINGAKU     PIC 9(6) VALUE 7890.
01 HYOUJI      PIC $ZZ,ZZZ.
...
MOVE KINGAKU TO HYOUJI
DISPLAY HYOUJI

実行結果:


$ 7,890

「Z」は不要なゼロを空白に、「,(カンマ)」は3桁区切りに、「$」は通貨記号に、それぞれ役割があります。見た目の整った金額表示が簡単に実現できます。

6. よくある間違いと注意点

6. よくある間違いと注意点
6. よくある間違いと注意点

編集記述子を使うときに注意するポイントもあります。

  • カンマ(,)やドル記号($)の位置:カンマは桁を正しく区切る位置に置かないと表示が崩れます。
  • 表示する数値よりPICの桁数が小さいと、正しく表示されません。
  • Zや*は数字以外のデータ(文字列など)には使えません。

たとえば、「PIC Z(3)」に9999を入れようとすると、桁数オーバーでエラーになります。このような場合は「PIC Z(4)」などにして、十分な桁数を確保する必要があります。

7. 実際の業務での活用例

7. 実際の業務での活用例
7. 実際の業務での活用例

編集記述子は、実際の業務プログラムでも頻繁に使われます。銀行の通帳印字、給与明細、請求書、会計帳簿など、数字を美しく整える必要がある場面で活躍します。

たとえば、下記のように請求書で金額を整えるコードが書かれます。


01 SHOUHIN-KINGAKU   PIC 9(6) VALUE 123456.
01 PRINT-DATA        PIC $**,***.
...
MOVE SHOUHIN-KINGAKU TO PRINT-DATA
DISPLAY PRINT-DATA

出力結果:


$**123,456

このように、読みやすく、間違いにくい出力が可能になります。

カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.2
Java&Spring記事人気No2
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
C#のfor文の基本!繰り返し処理をわかりやすく解説