カテゴリ: COBOL 更新日: 2025/06/30

COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!

数値データ型(PIC 9)の使い方と注意点
数値データ型(PIC 9)の使い方と注意点

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

生徒

「COBOLで数字を扱うときはどうやって書くんですか?」

先生

「COBOLでは、数値データを表すのに『PIC 9』という書き方を使いますよ。」

生徒

「PIC 9って何ですか?難しそう…」

先生

「心配いりません。今回は、初心者の方にもわかりやすく『PIC 9』の使い方と注意点を丁寧に解説していきますね!」

1. COBOLの数値データ型「PIC 9」とは?

1. COBOLの数値データ型「PIC 9」とは?
1. COBOLの数値データ型「PIC 9」とは?

COBOL(コボル)では、数値データを表すときにPIC(ピクチャ)句を使います。PIC句は、「この変数はどんなデータを入れるか」を定義するものです。

その中でもPIC 9は「数字(0から9まで)の1桁」を意味します。たとえば、PIC 999と書けば「最大で3桁の数字が入る変数」になります。

簡単に言えば、「9」は数字を入れるための『箱』のようなもので、いくつ「9」を並べるかで、入れられる数字の桁数が決まります。

2. PIC 9を使った基本的な変数の定義

2. PIC 9を使った基本的な変数の定義
2. PIC 9を使った基本的な変数の定義

実際にCOBOLで数値データ型を定義するには、DATA DIVISIONの中で、次のように書きます。


01 AGE        PIC 99.
01 PRICE      PIC 9999.
01 QUANTITY   PIC 9(5).

それぞれの意味は次のとおりです:

  • AGE PIC 99 → 2桁までの数字(例:23など)
  • PRICE PIC 9999 → 4桁までの数字(例:1234など)
  • QUANTITY PIC 9(5) → 5桁までの数字(例:12345など)。9(5)のようにまとめて書けます。

3. 実行例を見てみよう

3. 実行例を見てみよう
3. 実行例を見てみよう

次に、数値変数を使ってDISPLAY文で画面に出力してみましょう。


IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLENUMBERS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 AGE        PIC 99 VALUE 25.
01 PRICE      PIC 9999 VALUE 1500.
01 QUANTITY   PIC 9(5) VALUE 12345.
PROCEDURE DIVISION.
    DISPLAY "年齢: " AGE
    DISPLAY "価格: " PRICE
    DISPLAY "数量: " QUANTITY
    STOP RUN.

このプログラムを実行すると、以下のような出力が表示されます。


年齢: 25
価格: 1500
数量: 12345

4. PIC 9の注意点

4. PIC 9の注意点
4. PIC 9の注意点

COBOLでPIC 9を使うときには、いくつかの注意点があります。

① 数字以外は入れられない

PIC 9数字専用です。もし、文字や記号を入れようとすると、エラーになります。

② 桁数が足りないと切り捨てられる

定義した桁数よりも大きな数字を入れようとすると、切り捨てやエラーになる可能性があります。たとえば、PIC 99に「123」を入れようとすると、うまく入りません。

③ ゼロで埋められることがある

数値の先頭に0がつくこともあります。たとえばPIC 999で「5」を表示すると「005」になることがあります(これは使用する環境や設定によります)。

5. 0(ゼロ)や負の数はどう扱う?

5. 0(ゼロ)や負の数はどう扱う?
5. 0(ゼロ)や負の数はどう扱う?

PIC 9は整数(プラスの数)を扱う前提です。もし0を扱いたい場合は、もちろん大丈夫です。ただし、マイナス(負の数)を扱いたいときは、S9という書き方を使います。

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


01 BALANCE    PIC S999 VALUE -200.

Sは「符号付き(Signed)」という意味で、マイナスの数値も扱えるようになります。

6. 実務での使いどころ

6. 実務での使いどころ
6. 実務での使いどころ

PIC 9は、銀行の口座番号、金額、年齢、数量、社員番号など、整数で表せる情報を管理するのに最適です。

たとえば、社員番号が5桁固定の場合:


01 EMPLOYEE-ID    PIC 9(5).

金額が999999円までなら:


01 SALARY         PIC 9(6).

このように、PIC 9は多くの業務処理でよく使われる重要な要素です。

カテゴリの一覧へ
新着記事
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
COBOLのINDEXED BY句を使ったインデックス管理の基本をやさしく解説!