数値項目を特定の編集記号 (小数点、コンマ、ドル記号、借方記号、貸方記号など) を付けて定義すると、 項目の表示または印刷時に、項目をより見やすく理解しやすいようにすることができます。
例えば、以下のコードの Edited-price は、USAGE DISPLAY を持つ数字編集項目です。 (数字編集項目に文節 USAGE IS DISPLAY を指定することができますが、これは暗黙の指定です。これは、項目が文字形式で保管されることを意味します。)
05 Price Pic 9(5)v99. 05 Edited-price Pic $zz,zz9.99. . . . Move Price To Edited-price Display Edited-price
Price の内容が 0150099 (値 1,500.99 を表す) であった場合には、コードを実行すると、$ 1,500.99 が表示されます。 Edited-price の PICTURE 文節内の z は、先行ゼロの抑止を示します。
英数字ではなく国別 (UTF-16) 文字を保持する数字編集データ項目を定義できます。 そのためには、数字編集項目を USAGE NATIONAL と宣言してください。 USAGE NATIONAL を持つ数字編集項目の 場合の編集記号の効果は、USAGE DISPLAY を持つ数字編集項目の場合と同様ですが、編集が国別文字で行われる点は異なります。例えば、上記のコードで Edited-price が USAGE NATIONAL と宣言された場合、項目は国別文字を使用して編集および表示されます。
基本数値項目または数字編集項目に BLANK WHEN ZERO 文節をコーディングすることにより、値ゼロが項目に保管されたとき、その項目がスペースで充てんされるようにすることができます。 例えば、以下のそれぞれの DISPLAY ステートメントの場合、ゼロではなくブランクが表示されます。
05 Price Pic 9(5)v99.
05 Edited-price-D Pic $99,999.99
Blank When Zero.
05 Edited-price-N Pic $99,999.99 Usage National
Blank When Zero.
. . .
Move 0 to Price
Move Price to Edited-price-D
Move Price to Edited-price-N
Display Edited-price-D
Display Edited-price-N
算術式の中、あるいは ADD、SUBTRACT、MULTIPLY、DIVIDE、または COMPUTE ステートメントの中で、数字編集項目を送信オペランドとして使用することはできません。 (これらのステートメントのいずれかで数字編集項目が受信フィールドであるとき、あるいは MOVE ステートメントが数字編集受信フィールド、および数字編集または数値送信フィールドを持っているとき、数字編集が行われます)。 数字編集項目は、主として、数値データの表示または印刷のために使用されます。
数字編集項目は、数値項目または数字編集項目に移動することができます。以下の例では、数字編集項目の値 (USAGE DISPLAY を持っているか USAGE NATIONAL を持っているかにかかわらず) は数値項目に移動します。
Move Edited-price to Price Display Price
上記の最初の例のステートメントの直後にこれら 2 つのステートメントが続いている場合、Price は 0150099 (値 1,500.99 を表す) と表示されます。 Edited-price が USAGE NATIONAL を持っている場合にも、Price は 0150099 と表示されます。
数字編集項目を、英数字データ項目、英数字編集データ項目、浮動小数点データ項目、および国別データ項目に移動することもできます。数字編集データの有効な受信項目の完全なリストについては、 MOVE ステートメントに関する関連した解説書を参照してください。
関連タスク
画面上またはファイル内での値の表示 (DISPLAY)
数値データの保管方法の制御
数値データの定義
算術の実行
国別数値データ項目の定義
国別 (Unicode) 表現との間の変換
関連参照
MOVE ステートメント
(「COBOL for Windows 言語解説書」)
BLANK WHEN ZERO 文節
(「COBOL for Windows 言語解説書」)