数値項目を定義するには、数値の 10 進数の桁数を表すためにデータ記述で文字 9 を指定した PICTURE 節を使用します。 英数字データ項目用の X を使用しないでください。
例えば、以下の Count-y は数値データ項目であり、USAGE DISPLAY を持つ外部 10 進数項目 (ゾーン 10 進数項目) です。
05 Count-y Pic 9(4) Value 25. 05 Customer-name Pic X(20) Value "Johnson".
同様にして、国別文字 (UTF-16) を保持する数値データ項目を定義できます。 例えば、以下の Count-n は USAGE NATIONAL を持つ外部 10 進数データ (国別 10 進数項目) です。
05 Count-n Pic 9(4) Value 25 Usage National.
デフォルトのコンパイラー・オプションである ARITH(COMPAT) (互換モード と呼ばれる) を使用してコンパイルする場合は、PICTURE 節には最大 18 桁までコーディングすることができます。 ARITH(EXTEND) (拡張モード と呼ばれる) を使用してコンパイルする場合は、PICTURE 節には最大 31 桁までコーディングすることができます。
それ以外にコーディングできる特殊な意味を持つ文字は、次のとおりです。
次の例の s は、値が符号付きであることを意味します。
05 Price Pic s99v99.
したがって、このフィールドには、正または負の値を格納することができます。v は、暗黙の小数点の位置を示しますが、ストレージ上の位置を占めないので、項目のサイズには含まれません。 デフォルトでは s はストレージ上の位置を必要としないので、通常、s は数値項目のサイズに含まれません。
しかし、プログラムまたはデータを別のマシンに移植する予定である場合、ゾーン 10 進数データ項目用の符号をストレージ上の別個の位置としてコーディングすることができます。 次の場合、符号は 1 バイトを占めます。
05 Price Pic s99V99 Sign Is Leading, Separate.
このようにすれば、現在使用中のマシンとは非分離符号を格納するための規則が異なるマシンを使用する場合に、予測外の結果が生じることがなくなります。
分離符号は、印刷または表示されるゾーン 10 進数データ項目にとっても望ましいものです。
分離符号は、符号付きの国別 10 進数データ項目には必要です。 符号は、以下の例のように 2 バイトのストレージを占有します。
05 Price Pic s99V99 Usage National Sign Is Leading, Separate.
PICTURE 節に内部浮動小数点データ (COMP-1 または COMP-2) を指定することはできません。 しかし、VALUE 節を使用して、内部浮動小数点リテラルの初期値を提供できます。
05 Compute-result Usage Comp-2 Value 06.23E-24.
外部浮動小数点データについては、以下に参照されている例および数値データの形式に関する関連概念を参照してください。
関連概念
数値データの形式
中間結果および算術精度
関連参照
ゾーンおよびパック 10 進数データのサイン表記
国別データのストレージ
ARITH
NUMPROC
SIGN 節 (Enterprise COBOL 言語解説書)