Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

挿入文字

ピクチャー文字のコンマ (,)、小数点 (.)、スラッシュ (/)、および ブランク (B) を指定すると、数字データ内の対応する位置にその文字が挿入されます。 これらの文字は、数字桁や文字桁を示すものではなく、数字や文字の間に 挿入されます。 ただし、文字値の中では、いずれの文字も、その文字が消去されるか否かに関係なく 1 つの文字桁を表しています。 コンマ、小数点、およびスラッシュは条件付き挿入文字であり、一連のゼロ抑制文字の間にあるときには消去されることもあります。 ブランクは無条件挿入文字であり、 対応する位置にブランクを常に挿入することを指定します。

挿入文字は、文字値にだけ適用され、 そのデータ項目の算術値に関してはなにも指定しません。 挿入文字を使用しても、固定小数点 10 進数のピクチャー指定内で小数点 (または 10 進コンマ) 位置合わせを指定したことにはなりませんし、挿入文字はデータ項目の算術値の一部ではありません。 小数点位置合わせは、ピクチャー文字 V および F によって制御されます。

コンマ (,)、小数点 (.)、またはスラッシュ (/)
ゼロ消去が行われない限り、数字データ内の対応する位置にこれらの 文字が挿入されます。 ゼロ消去が行われたときは、下記の場合にのみこれらの文字が挿入されます。

上記以外の場合にゼロ消去が行われるときは、コンマ、小数点、またはスラッ シュ挿入文字は、その前にある文字と等しくゼロ抑制文字と見なされます。

B
数字データの文字値の対応する位置に、ブランク文字を挿入することを指定します。

挿入文字と小数点文字

小数点、コンマ、またはスラッシュを V と一緒に使用すれば、固定小数点数 (または浮動小数点数) の整数部分の終わりと小数部分の始まりを区切る位置に、小数点 (またはコンマ、スラッシュ) を挿入できます。この機能は、V を使用しても小数点の印刷ができないので、印刷時に必要になる場合があります。 小数点は、V の直前または直後になければなりません。小数点が V の直前にある 場合は、すべての小数桁が有効な場合でも、未消去の数字が V の左に現れる 場合にのみ挿入されます。 V のすぐあとにある小数点は、V の右側にあるすべての数字が消去されたときに消去されますが、小数桁に消去されていない数字がある (間にゼロがあってもよい) ときは挿入されます。

次に各国で使用されている 10 進数の規則の例を示します。

  declare A picture 'Z,ZZZ,ZZZV.99',
          B picture 'Z.ZZZ.ZZZV,99',
          C picture 'ZBZZZBZZZV,99';
  A,B,C = 1234;
  A,B,C = 1234.00;

ABC はそれぞれ 9 桁の数を表し、 7 番目と 8 番目の数字の間に小数点または小数コンマが想定されています。 小数点挿入文字によって指定された実際の小数点は、算術値の一部ではありませんが、 文字値ではその一部です。 2 つの代入ステートメントは、次のように ABC に同じ文字値を割り当てます。

  1,234.00     /* value of A */
  1.234,00     /* value of B */
  1 234,00     /* value of C */

次の例では、割り当て中に小数点の位置合わせが文字 V で行われます。 Rate が印刷される場合、'762.00' のように 示されますが、その算術値は 7.6200 です。

  declare Rate picture '9V99.99';
  Rate = 7.62;

表 38 に、挿入文字の例を示します。

表 38. 挿入文字の例
 
ソース属性
ソース・データ
(定数フォーマット)
 
ピクチャー指定
 
文字値
FIXED(4)
FIXED(6,2)
FIXED(4,2)
1234
1234.56
12.34
9,999
9,999V.99
ZZ.VZZ
1,234
1,234.56
12.34
FIXED(4,2)
FIXED(4,2)
FIXED(4,2)
00.03
00.03
12.34
ZZ.VZZ
ZZV.ZZ
ZZV.ZZ
bbb03
bb.03
12.34
FIXED(4,2)
FIXED(9,2)
FIXED(7,2)
00.00
1234567.89
12345.67
ZZV.ZZ
9,999,999.V99
**,999V.99
bbbbb
1,234,567.89
12,345.67
FIXED(7,2)
FIXED(9,2)
FIXED(6)
00123.45
1234567.89
123456
**,999V.99
9.999.999V,99
99/99/99
***123.45
1.234.567,89
12/34/56
FIXED(6)
FIXED(6)
FIXED(6)
123456
001234
000012
99.9/99.9
ZZ/ZZ/ZZ
ZZ/ZZ/ZZ
12.3/45.6
bbb12/34
bbbbbb12
FIXED(6)
FIXED(6)
FIXED(6)
000000
000000
000000
ZZ/ZZ/ZZ
**/**/**
**B**B**
bbbbbbbb
********
**b**b**
FIXED(6)
FIXED(3)
FIXED(2)
123456
123
12
99B99B99
9BB9BB9
9BB/9BB
12b34b56
1bb2bb3
1bb/2bb

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)