カテゴリ: COBOL 更新日: 2025/11/10

COBOLのEDITING記述子を完全解説!初心者でもわかるPIC Z・\*・\$による整形出力

EDITING記述子(PIC Z, \*, \$など)で整形出力
EDITING記述子(PIC Z, \*, \$など)で整形出力

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

生徒

「先生、COBOLで数字をきれいに表示する方法ってありますか? たとえばカンマを入れたり、前にドルマークを付けたりとか…」

先生

「とても良い質問ですね。COBOLではPIC句の中で“編集記述子(EDITING記述子)”という機能を使って、数字の見た目を整えることができるんです。」

生徒

「編集記述子?なんだか難しそうですね…」

先生

「大丈夫。使い方を覚えれば、誰でも簡単にできるようになりますよ。今日はPIC Z*$などを使って、きれいな数値の整形出力を学びましょう!」

1. EDITING記述子とは?

1. EDITING記述子とは?
1. EDITING記述子とは?

COBOLのEDITING記述子(エディティング記述子)とは、数値を画面や帳票などに表示するときに「どんな見た目で表示するか」を指定する仕組みです。たとえば、カンマ区切り先頭の0を消すドル記号を付けるといった整形を自動で行ってくれます。

この整形は、PIC句(ピクチャ句)に特別な記号を使って指定します。これを「編集記述子」と呼びます。代表的なものには次のような記号があります。

  • Z:不要な先頭の0を空白にします。
  • 9:通常の数字をそのまま表示します。
  • ,:カンマ(,)を自動で入れます。
  • *:先頭の空白を「*」で埋めます。
  • $:金額表示などに使うドル記号を付けます。
  • + / -:正負の符号を表示します。

このようにPIC句に記号を組み合わせることで、見た目を自由に整えることができます。

2. PIC Zで先頭の0を消して表示する

2. PIC Zで先頭の0を消して表示する
2. PIC Zで先頭の0を消して表示する

まずは、最も基本的なZの使い方を見てみましょう。これは数値の先頭にある不要な「0」を消して、空白にしてくれます。


IDENTIFICATION DIVISION.
PROGRAM-ID. EDIT-Z-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  PRICE         PIC 9(5) VALUE 00456.
01  PRICE-DISP    PIC ZZZZ9.
PROCEDURE DIVISION.
    MOVE PRICE TO PRICE-DISP
    DISPLAY "表示結果:" PRICE-DISP
    STOP RUN.

このプログラムの出力は次のようになります。


表示結果:  456

数字の前にあった0が消えて、きれいに表示されています。先頭の0を消して空白にするのがZの役割です。

3. PIC ,(カンマ)で3桁区切りにする

3. PIC ,(カンマ)で3桁区切りにする
3. PIC ,(カンマ)で3桁区切りにする

次に、金額などでよく使う3桁ごとのカンマ区切りの表示をしてみましょう。これもPIC句に「,」を入れるだけです。


IDENTIFICATION DIVISION.
PROGRAM-ID. EDIT-COMMA-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  SALES-AMOUNT       PIC 9(7) VALUE 1234567.
01  SALES-DISPLAY      PIC ZZ,ZZZ,ZZ9.
PROCEDURE DIVISION.
    MOVE SALES-AMOUNT TO SALES-DISPLAY
    DISPLAY "売上金額:" SALES-DISPLAY
    STOP RUN.

出力結果はこうなります。


売上金額: 1,234,567

自動的にカンマが入って見やすくなっています。会計処理や帳票出力では必須の機能です。

4. PIC *(アスタリスク)で空白を*に置き換える

4. PIC *(アスタリスク)で空白を*に置き換える
4. PIC *(アスタリスク)で空白を*に置き換える

金額などを印刷するとき、空白部分を「*」で埋めたい場合があります。これは改ざん防止や見た目を整える目的で使われます。そのときに使うのが*です。


IDENTIFICATION DIVISION.
PROGRAM-ID. EDIT-STAR-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  AMOUNT          PIC 9(5) VALUE 123.
01  AMOUNT-EDITED   PIC **,**9.
PROCEDURE DIVISION.
    MOVE AMOUNT TO AMOUNT-EDITED
    DISPLAY "出力結果:" AMOUNT-EDITED
    STOP RUN.

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


出力結果:**1,23

このように、空白が「*」で埋められ、きれいに整った印象になります。帳票印刷などで「見せ方」を工夫したいときに使われます。

5. PIC $(ドル記号)で金額表示を行う

5. PIC $(ドル記号)で金額表示を行う
5. PIC $(ドル記号)で金額表示を行う

金額データに「ドルマーク」や「円記号」を付けたいときは、$を使います。これを指定すると、自動的に金額の前に「$」が付きます。


IDENTIFICATION DIVISION.
PROGRAM-ID. EDIT-DOLLAR-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  PRICE         PIC 9(6) VALUE 12345.
01  PRICE-DISP    PIC $ZZ,ZZ9.
PROCEDURE DIVISION.
    MOVE PRICE TO PRICE-DISP
    DISPLAY "商品価格:" PRICE-DISP
    STOP RUN.

実行結果は次の通りです。


商品価格:$12,345

簡単に「$」付きの金額表示ができます。日本円で使う場合は、「¥」を文字列として付けてもOKです。

6. 符号(+ / -)を表示する

6. 符号(+ / -)を表示する
6. 符号(+ / -)を表示する

数値がプラスかマイナスかを見せたいときは、「+」や「-」を編集記述子に含めます。


IDENTIFICATION DIVISION.
PROGRAM-ID. EDIT-SIGN-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  BALANCE         PIC S9(5) VALUE -2500.
01  BALANCE-DISP    PIC +ZZ,ZZ9.
PROCEDURE DIVISION.
    MOVE BALANCE TO BALANCE-DISP
    DISPLAY "残高:" BALANCE-DISP
    STOP RUN.

出力結果は次のようになります。


残高:-2,500

符号が自動で付いているのがわかります。会計処理などでは、この形式がよく使われます。

7. 編集記述子の組み合わせでプロ並みの出力を作る

7. 編集記述子の組み合わせでプロ並みの出力を作る
7. 編集記述子の組み合わせでプロ並みの出力を作る

ここまで紹介した記述子は、組み合わせることでより高度な整形ができます。たとえば、ドルマーク付きでカンマ区切り、さらに不要な0を消す、というようなことも可能です。


IDENTIFICATION DIVISION.
PROGRAM-ID. EDIT-COMBO-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  SALES-TOTAL        PIC 9(7) VALUE 0004567.
01  SALES-FORMAT       PIC $**,***,ZZ9.
PROCEDURE DIVISION.
    MOVE SALES-TOTAL TO SALES-FORMAT
    DISPLAY "売上合計:" SALES-FORMAT
    STOP RUN.

出力結果:


売上合計:$**4,567

このように、複数の編集記述子を組み合わせて使うことで、見やすくて実用的な表示を作ることができます。

8. 実務での活用例

8. 実務での活用例
8. 実務での活用例

実際の企業システムでは、帳票やレポート、画面出力などでこれらの編集記述子がよく使われます。特に金融システムや販売管理システムでは、数字の桁数が多くなるため、見やすさ信頼性が重要です。

たとえば売上報告書などで「$***12,345」と表示すれば、ぱっと見ただけで桁や金額が明確に分かります。こうした細かい表示の工夫が、業務の正確性を高めるのです。

9. まとめ:COBOLの編集記述子で美しい数値出力を作ろう

9. まとめ:COBOLの編集記述子で美しい数値出力を作ろう
9. まとめ:COBOLの編集記述子で美しい数値出力を作ろう

COBOLのEDITING記述子を使うことで、数字をきれいに整形して出力できます。Zで0を消し、,で桁区切り、*$でデザイン性を加えれば、実務で使える見やすい帳票を作ることができます。これらをマスターすることで、COBOLの数値表示の幅が大きく広がります。

カテゴリの一覧へ
新着記事
New1
C#
C#のLINQでAny・Allなど条件確認メソッドの使い方を完全ガイド!初心者でもわかるデータ検証
New2
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New3
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New4
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.5
Java&Spring記事人気No5
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.6
Java&Spring記事人気No6
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.7
Java&Spring記事人気No7
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法