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

COBOLのJUSTIFIED句を完全マスター!初心者でもわかる文字の右寄せ・左寄せの基本

JUSTIFIED句の活用例と文字配置の制御
JUSTIFIED句の活用例と文字配置の制御

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

生徒

「先生、COBOLで文字の位置を右寄せにしたり左寄せにしたりすることはできますか?」

先生

「できますよ。COBOLではJUSTIFIED句を使えば、文字の配置を自由に制御できます。」

生徒

「文字の配置って、どんな場面で使うんですか?」

先生

「たとえば帳票(ちょうひょう)を印刷するときに、金額を右寄せにしたい場合などに使います。では、実際の使い方を見てみましょう。」

1. JUSTIFIED句とは?

1. JUSTIFIED句とは?
1. JUSTIFIED句とは?

COBOLのJUSTIFIED句は、文字列の表示位置を指定するための機能です。日本語で言うと「文字を右寄せにする」ための指定です。通常、COBOLでは英字や数字のデータは左側から順に格納されます。つまり、何も指定しないと左寄せになります。

しかし、帳票やレポートで金額や数値をきれいに揃えたい場合、右寄せにしたいことがあります。そのときにJUSTIFIED RIGHTを使います。

なお、「右寄せ」という言葉は英語で「Justified Right(ジャスティファイド・ライト)」といい、COBOLではこれをそのまま書くだけで機能します。

2. JUSTIFIED句の基本的な書き方

2. JUSTIFIED句の基本的な書き方
2. JUSTIFIED句の基本的な書き方

COBOLのデータ定義(DATA DIVISION)の中で、項目を定義するときにJUSTIFIED RIGHTを指定します。これにより、その項目に文字を移動(MOVE)したときに、自動的に右寄せで格納されます。

書き方は次の通りです。


01  NAME-FIELD    PIC X(10) JUSTIFIED RIGHT.
01  DISPLAY-NAME  PIC X(10).

ここでは、NAME-FIELDに「右寄せ(JUSTIFIED RIGHT)」を指定しています。

3. JUSTIFIED句の動作を確認してみよう

3. JUSTIFIED句の動作を確認してみよう
3. JUSTIFIED句の動作を確認してみよう

それでは、実際にMOVE文を使って、右寄せと左寄せの違いを確認してみましょう。


IDENTIFICATION DIVISION.
PROGRAM-ID. JUSTIFY-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  NAME-RIGHT   PIC X(10) JUSTIFIED RIGHT.
01  NAME-LEFT    PIC X(10).
PROCEDURE DIVISION.
    MOVE "TARO" TO NAME-RIGHT
    MOVE "TARO" TO NAME-LEFT
    DISPLAY "右寄せ:" NAME-RIGHT
    DISPLAY "左寄せ:" NAME-LEFT
    STOP RUN.

上のプログラムを実行すると、次のような結果になります。


    右寄せ:      TARO
    左寄せ:TARO      

このように、右寄せを指定した項目では空白が左側に入り、左寄せでは空白が右側に入ることがわかります。

4. JUSTIFIED句の実務での使いどころ

4. JUSTIFIED句の実務での使いどころ
4. JUSTIFIED句の実務での使いどころ

実際の業務システムでは、帳票や請求書、売上報告書などで金額を右揃えにすることが多くあります。たとえば、「1,000円」「10,000円」「100,000円」といった数字を左寄せで並べると桁がずれて見づらくなりますが、右寄せにすることで桁が揃い、きれいに見えます。

COBOLの帳票出力では、金額項目をJUSTIFIED RIGHTで定義するのが一般的です。これにより、プログラムで特別な計算をしなくても自動的にきれいに整列します。

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


01  TOTAL-AMOUNT     PIC X(10) JUSTIFIED RIGHT.
01  AMOUNT-DISPLAY   PIC X(10).
PROCEDURE DIVISION.
    MOVE "5000" TO TOTAL-AMOUNT
    MOVE "5000" TO AMOUNT-DISPLAY
    DISPLAY "右寄せ金額:" TOTAL-AMOUNT
    DISPLAY "左寄せ金額:" AMOUNT-DISPLAY
    STOP RUN.

このようにすると、TOTAL-AMOUNTは右端に数字がそろって表示され、見やすい帳票を簡単に作成できます。

5. JUSTIFIED句を使うときの注意点

5. JUSTIFIED句を使うときの注意点
5. JUSTIFIED句を使うときの注意点

JUSTIFIED RIGHTは文字列(PIC X)でしか使えません。数値(PIC 9)型には適用できないので注意が必要です。もし数値を右寄せしたい場合は、文字列に変換してから表示するのが一般的です。

また、項目の長さ(PIC X(10)など)が短い場合、データがはみ出すと左側の文字が切れてしまうことがあります。そのため、十分な桁数を確保しておくことが大切です。

もうひとつのポイントは、JUSTIFIED RIGHTは「MOVEしたとき」に働くということです。つまり、最初に文字を定義しただけでは右寄せされません。データを別の項目にMOVEするときに、右寄せが反映されます。

6. 実際の活用例:帳票の出力

6. 実際の活用例:帳票の出力
6. 実際の活用例:帳票の出力

では、右寄せを使った簡単な帳票出力の例を見てみましょう。ここでは3人の売上金額を右寄せで出力します。


IDENTIFICATION DIVISION.
PROGRAM-ID. JUSTIFY-REPORT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  NAME-1        PIC X(10) VALUE "TARO".
01  NAME-2        PIC X(10) VALUE "HANAKO".
01  NAME-3        PIC X(10) VALUE "JIRO".
01  SALES-1       PIC X(10) JUSTIFIED RIGHT.
01  SALES-2       PIC X(10) JUSTIFIED RIGHT.
01  SALES-3       PIC X(10) JUSTIFIED RIGHT.
PROCEDURE DIVISION.
    MOVE "5000"  TO SALES-1
    MOVE "12000" TO SALES-2
    MOVE "300"   TO SALES-3
    DISPLAY "------------------------"
    DISPLAY "氏名        売上金額"
    DISPLAY "------------------------"
    DISPLAY NAME-1 " " SALES-1
    DISPLAY NAME-2 " " SALES-2
    DISPLAY NAME-3 " " SALES-3
    DISPLAY "------------------------"
    STOP RUN.

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


------------------------
氏名        売上金額
------------------------
TARO           5000
HANAKO        12000
JIRO             300
------------------------

このように、JUSTIFIED RIGHTを使うことで、桁の異なる数値でも美しく整列された出力が簡単に実現できます。これがCOBOLの帳票出力でよく使われる理由です。

7. まとめ:JUSTIFIED句でCOBOLの文字配置を制御しよう

7. まとめ:JUSTIFIED句でCOBOLの文字配置を制御しよう
7. まとめ:JUSTIFIED句でCOBOLの文字配置を制御しよう

COBOLのJUSTIFIED RIGHTは、文字列データを右寄せで配置できる便利な機能です。帳票の出力や画面表示など、見た目を整える場面で非常に役立ちます。COBOLではレイアウトの整形もプログラムの重要な要素なので、ぜひこのJUSTIFIED句を使いこなして、読みやすく整った出力を作ってみましょう。

カテゴリの一覧へ
新着記事
New1
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
COBOL
COBOLの帳票レイアウトを美しく!可読性向上テクニックを徹底解説