COBOL2002 言語 拡張仕様編


21.10.2 関数値(数字項目のけた拡張機能)

組み込み関数の関数値の表現形式が,浮動小数点形式以外の数字型(整数を含む)の場合,-MaxDigits38オプションの指定に従って最大のけた数を拡張できる。ただし,関数値のけた数が返却値の意味によって固定となる場合は,拡張できない。

次に,組み込み関数の表現形式に対する数字項目のけた拡張機能の適用個所を示す。なお,次の表に記載のない関数については,けた数の拡張が適用されないため,マニュアル「COBOL2002 言語 標準仕様編」 「11 組み込み関数(Intrinsic function)」を参照のこと。

関数名

表現形式

備考

ANNUITY(X Y)

(均等払い額)

次に示す計算式を生成し既存の処理に従う。

(1) X=0の場合→1/Y

(2) X>0の場合→X/(1-(1+X)**-Y)

関数値は,40けた10進浮動小数点形式とする。

浮動小数点形式を含む場合は,内部浮動小数点形式(8バイト)

INTEGER(X)

(引数以下の最大の整数)

  1. 引数が浮動小数点項目の場合

    40けた10進浮動小数点形式。

    ただし,有効けた数は15けた。

  2. 引数が浮動小数点項目以外の場合

    符号付きで用途は引数と等しい(数字定数のときは2進形式)。

    (a)引数の整数けたが0のとき整数部だけ1けた。

    (b)引数の整数けたが1以上のとき

    ・小数部がないときは,引数の整数けた数。

    ・小数部があるときは,最大けたを18として引数の整数けた+1。

  3. 引数が算術式のとき

    40けた10進浮動小数点形式。

INTEGER-PART(X)

(引数の整数部分の整数)

  1. 引数が浮動小数点項目の場合

    40けた10進浮動小数点形式。

    ただし,有効けた数は15けた。

  2. 引数が浮動小数点項目以外の場合

    符号付きで用途は引数と等しい(数字定数のときは2進形式)。

    (a)引数の整数けたが0のとき整数部だけ1けた。

    (b)引数の整数けたが1以上のとき整数部のけた数。

  3. 引数が算術式の場合

    40けた10進浮動小数点形式。

MAX(X1...Xn)

(最大値)

引数が数字または整数でかつ浮動小数点形式を含まないとき

  1. 引数が一つの場合

    (a)定数のときは2進形式(最大18けた)。

    (b)定数でないときは引数1と同じ形式。

  2. 引数が複数の場合は40けた10進浮動小数点形式。

浮動小数点形式を含む場合は,内部浮動小数点形式(8バイト)

MEAN(X1...Xn)

(平均値)

引数が数字または整数でかつ浮動小数点形式を含まないとき

  1. 引数が一つの場合

    (a)定数のときは2進形式(最大18けた)。

    (b)定数でないときは引数1と同じ形式。

  2. 引数が複数の場合は40けた10進浮動小数点形式。

浮動小数点形式を含む場合は,内部浮動小数点形式(8バイト)

MEDIAN(X1...Xn)

(中央値)

  1. 引数が一つの場合

    (a)引数が定数のとき2進形式(最大18けた)。

    (b)引数が定数でないとき,引数と同じ形式。

  2. 引数がすべて整数の場合

    40けた10進浮動小数点形式。

左記以外の場合は,内部浮動小数点形式(8バイト)

MIDRANGE(X1 ... Xn)

(最大値と最小値の平均)

浮動小数点形式を含まない場合は40けた10進浮動小数点形式

  1. 引数が一つの場合

    (a)定数のときは2進形式(最大18けた)。

    (b)定数でないときは引数1と同じ形式。

  2. 引数が複数の場合は40けた10進浮動小数点形式。

浮動小数点形式を含む場合は,内部浮動小数点形式(8バイト)

MIN(X1 ... Xn)

(最小値)

引数が数字または整数でかつ浮動小数点形式を含まないとき

  1. 引数が一つの場合

    (a)定数のときは2進形式(最大18けた)。

    (b)定数でないときは引数1と同じ形式。

  2. 引数が複数の場合は40けた10進浮動小数点形式。

浮動小数点形式を含む場合は,内部浮動小数点形式(8バイト)

MOD(X Y)

(法)

次に示す算術式の結果の形式に従う。

(X-(Y*FUNCTION INTEGER(X/Y)))

関数値は,40けた10進浮動小数点形式。

NUMVAL(X)

(文字列→数字変換)

関数値の表現形式は,外部10進形式18バイトとなる。

整数けた数:18-Dmax

小数けた数:Dmax

Dmaxが19けたを超えた場合は,Dmaxを18けたに補正する。

NUMVAL-C(X)

(編集文字列→数字変換)

関数値の表現形式は,外部10進形式18バイトとなる。

整数けた数:18-Dmax

小数けた数:Dmax

Dmaxが19けたを超えた場合は,Dmaxを18けたに補正する。

RANGE(X1 ... Xn)

(範囲)

  1. 引数が1個の場合は,2進形式。(整数部1けただけ。値は0。)

  2. 引数が複数で,浮動小数点形式を含まない場合は,40けた10進浮動小数点形式。

  3. 引数が複数で,浮動小数点形式を含む場合は,内部浮動小数点形式8バイト。

REM(X Y)

(剰余)

次に示す算術式の結果の形式に従う。

(X-(Y*FUNCTION INTEGER-PART(X/Y)))
関数値は,40けた10進浮動小数点形式。

SUM(X1...Xn)

(合計)

次に示す算術式の結果の形式に従う。

X1...+Xn
  • 引数が一つの場合

    (a)定数のときは2進形式(最大18けた)。

    (b)定数でないときは引数1と同じ形式。

  • 引数が複数の場合は40けた10進浮動小数点形式。

浮動小数点形式を含む場合は,内部浮動小数点形式(8バイト)

VARIANCE (X1...Xn)

(分散の近似値)

関数値

(1)引数が1個のときは,2進形式。

整数けたは1,小数けたは0。

(2)引数が複数で,浮動小数点形式を含まないとき

40けた10進浮動小数点形式。

(3)引数が複数で,浮動小数点形式を含むとき

内部浮動小数点形式8バイト。

注※

Dmaxは,この関数を含む算術式のすべての作用対象と算術文,および転記の受け取り側作用対象のうち最大の小数けた数を示す。