DECIMAL

省略形:DEC

DECIMAL は、基数が 10 進数であることを示す算術データ型属性です。形式は次のとおりです。

DECIMAL[(p[,q])]

精度 p,q (qはオプションで小数部の桁数を表す) は、DECIMAL 属性か FIXED 属性または FLOAT 属性で指定できますが、2 回指定することはできません。精度 p およびスケール q (指定する場合) は、正の整数でなければなりません。精度またはスケールを指定しない場合はデフォルトが使用されます。デフォルトの精度の詳細については、『Open PL/I ユーザー ガイド』および「」の章の「DEFAULT」のセクションを参照してください。

DECIMAL で FIXED または FLOAT を指定しない場合のデフォルトは FIXED です。FIXED または FLOAT で BINARY または DECIMAL を指定しない場合のデフォルトは DECIMAL です。

FIXED とともに使用した場合、DECIMAL は 10 進 p 桁以上の固定小数点算術値を示します。q が指定されている場合、整数部が p から q を引いた桁数になり、小数部が q 桁になります。q を省略した場合は、q = 0 と見なされます。したがって、最大 p 桁の 10 進数を含む整数となります。

注: 小数部の精度がスケール未満の FIXED DECIMAL はサポートされません。
declare fd fixed decimal (1,2) init (2)  /* not supported. */

FLOAT とともに使用した場合、DECIMAL は仮数が 10 進 p 桁以上の浮動小数点算術値を示します。この場合、q を指定することはできません。