IBM Books

解説書


数学関数

これらの関数を使用すると、数値計算を行うことができます。

数学関数の場合の NLS の考慮事項: Net.Data は、Net.Data の実行環境下で Web サーバーで指定されている地域設定値に基づいて、 数値内の小数点を表示します。 たとえば、Web サーバーで小数点がコンマ (,) として指定されている場合、 Net.Data はコンマを使用して 10 進データを形式設定します。 Net.Data は、以下の設定を使用して、 小数点を指定するために使用する文字を判別します。

OS/390、Windows NT、OS/2、および UNIX オペレーティング・システムの場合:
Web サーバーを実行するロケール

OS/400 オペレーティング・システムの場合:

数値計算には、以下の関数を利用することができます。

DTW_ADD


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

2 つの数を追加します。

構文

@DTW_ADD(number1, number2, precision, result)

@DTW_ADD(number1, number2, result)

@DTW_rADD(number1, number2, precision)

@DTW_rADD(number1, number2)


表 57. DTW_ADD のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 数値を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 の合計値が含まれている変数。

戻りコード

表 58. DTW_ADD の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。

例 1:

@DTW_ADD(NUM1, NUM2, "2", result)

例 2:

@DTW_rADD("12", NUM2,
"5")

DTW_DIVIDE


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

ある数を他の数で除算します。

構文

@DTW_DIVIDE(number1, number2, precision, result)

@DTW_DIVIDE(number1, number2, result)

@DTW_rDIVIDE(number1, number2, precision)

@DTW_rDIVIDE(number1, number2)


表 59. DTW_DIVIDE のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 除算する数を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 で割った結果が含まれている変数。

戻りコード

表 60. DTW_DIVIDE 戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。

例 1:

@DTW_DIVIDE("8.0", NUM2,
result)

例 2:

@DTW_rDIVIDE("1", NUM2,
"5")

例 3:

@DTW_rDIVIDE(NUM1, "2",
"5")

DTW_DIVREM


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

ある数を他の数で除算し、剰余を戻します。

構文

@DTW_DIVREM(number1, number2, precision, result)

@DTW_DIVREM(number1, number2, result)

@DTW_rDIVREM(number1, number2, precision)

@DTW_rDIVREM(number1, number2)


表 61. DTW_DIVREM のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 除算する数を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 で割ったときの剰余が含まれている変数。

戻りコード

表 62. DTW_DIVIDEREM の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。

使用上の注意

剰余が非ゼロであれば、その符号は、 最初のパラメーターの符号と同じです。

例 1:

@DTW_DIVREM(NUM1, NUM2,
result)

例 2:

@DTW_rDIVREM("10",
NUM2)

例 3:

@DTW_rDIVREM("3.6",
"1.3")

例 4:

@DTW_rDIVREM("-10",
"3")

DTW_FORMAT


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

数値の形式化をカスタマイズします。

構文

@DTW_FORMAT(number, before, after, expp, expt, precision, result)

@DTW_FORMAT(number, before, after, expp, expt, result)

@DTW_FORMAT(number, before, after, expp, result)

@DTW_FORMAT(number, before, after, result)

@DTW_FORMAT(number, before, result)

@DTW_FORMAT(number, result)

@DTW_rFORMAT(number, before, after, expp, expt, precision)

@DTW_rFORMAT(number, before, after, expp, expt)

@DTW_rFORMAT(number, before, after, expp)

@DTW_rFORMAT(number, before, after)

@DTW_rFORMAT(number, before)

@DTW_rFORMAT(number)


表 63. DTW_FORMAT のパラメーター
データ型 パラメーター 用途 説明
浮動 number IN 数値を表す変数またはリテラル・ストリング。
整数 before IN 正の整数を表す変数またはリテラル・ストリング。 これはオプション・パラメーターです。 ヌル・ストリング ("") を入力して追加のパラメーターを指定する必要があります。
整数 after IN 正の整数を表す変数またはリテラル・ストリング。 これはオプション・パラメーターです。 ヌル・ストリング ("") を入力して追加のパラメーターを指定する必要があります。
整数 expp IN 正の整数を表す変数またはリテラル・ストリング。 ヌル・ストリング ("") を入力して追加のパラメーターを指定する必要があります。
整数 expt IN 正の整数を表す変数またはリテラル・ストリング。 ヌル・ストリング ("") を入力して追加のパラメーターを指定する必要があります。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT 丸めと形式化が指定された数値が含まれている変数。

戻りコード

表 64. DTW_FORMAT の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。

使用上の注意

  1. number パラメーターのみを指定すると、 結果は、@DTW_rADD(number,"0") を実行した場合と同じように形式化されます。

  2. before および after パラメーターは、 それぞれ result パラメーターの整数部分と小数部分に何文字を使用しているかを記述します。 これらのパラメーターのいずれか、または両方を省略すると、 該当部分に使用される文字の数は必要なだけの数になります。

  3. before パラメーターが数値の整数部分 (および、負の数の符号) を含めるだけの大きさをもっていない場合は、 エラーになります。 before パラメーターがその部分に必要な大きさを超えている場合は、 number パラメーター値は、左側にブランクが埋め込まれます。 after パラメーターが number パラメーターの小数部分と同じサイズでない場合は、 同じサイズになるように数値が丸められます (または、ゼロで拡張されます)。 0 を指定すると、数値は丸められて整数になります。

  4. expp および expt パラメーターは結果の指数部分を制御します。 expp パラメーターは、指数部分の桁数を設定します。 デフォルトでは、必要なだけの桁数を使用します (ゼロの場合もあります)。 expt パラメーターは、指数表記に使用するトリガー・ポイントを設定します。デフォルトは、 精度パラメーターのデフォルトの値です。

  5. expp が 0 であれば、指数は提供されず、 数値は、必要なだけゼロが追加された単純な形式で表されます。 expp が指数を含めるだけの大きさをもっていない場合は、エラーになります。

  6. 整数部分または小数部分に必要な桁数が、それぞれ expt または 2 倍の expt を超えている場合は、 指数表記を使用します。 expt が 0 であれば、指数が 0 でない限り、指数表記が常に使用されます。 (expp が 0 であれば、expt の 0 値をオーバーライドします。) 非ゼロの expp が指定されているときに指数が 0 であれば、 expp+2 ブランクが結果の指数部分として提供されます。 指数が 0 で、expp が指定されていない場合は、単純な形式が使用されます。

例 1:

@DTW_FORMAT(NUM, BEFORE,
result)

例 2:

@DTW_FORMAT("1.73", "4", "0", result)

例 3:

@DTW_FORMAT("1.73", "4", "3", result)

例 4:

@DTW_FORMAT(" - 12.73", "", "4", result)

例 5:

@DTW_FORMAT("12345.73", "", "", "2", "2", result)

例 6:

@DTW_FORMAT("1.234573", "", "3", "", "0", result)

例 7:

@DTW_rFORMAT(" -
12.73")

例 8:

@DTW_rFORMAT("0.000")

例 9:

@DTW_rFORMAT("12345.73", "", "", "3", "6")

例 10:

@DTW_rFORMAT("1234567e5", "", "3", "0")

例 11:

@DTW_rFORMAT("12345.73", "", "3", "", "0")

DTW_INTDIV


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

ある数を他の数で除算し、結果の整数部分を戻します。

構文

@DTW_INTDIV(number1, number2, precision, result)

@DTW_INTDIV(number1, number2, result)

@DTW_rINTDIV(number1, number2, precision)

@DTW_rINTDIV(number1, number2)


表 65. DTW_INTDIV のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 除算する数を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 で割った結果の整数部分が含まれている変数。

戻りコード

表 66. DTW_INTDIV の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。


例 1:

@DTW_INTDIV(NUM1, NUM2,
result)

例 2:

@DTW_rINTDIV("2",
NUM2)

DTW_MULTIPLY


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

2 つの数を乗算します。

構文

@DTW_MULTIPLY(number1, number2, precision, result)

@DTW_MULTIPLY(number1, number2, result)

@DTW_rMULTIPLY(number1, number2, precision)

@DTW_rMULTIPLY(number1, number2)


表 67. DTW_MULTIPLY のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 数値を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 の積が含まれている変数。

戻りコード

表 68. DTW_MULTIPLY の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。

例 1:

@DTW_MULTIPLY(NUM1, NUM2, result)

例 2:

@DTW_rMULTIPLY("0.9",
NUM2)

DTW_POWER


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

整数をその累乗にします。

構文

@DTW_POWER(number1, number2, precision, result)

@DTW_POWER(number1, number2, result)

@DTW_rPOWER(number1, number2, precision)

@DTW_rPOWER(number1, number2)


表 69. DTW_POWER のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 累乗する数を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 乗した結果が含まれている変数。

戻りコード

表 70. DTW_POWER 戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。

例 1:

@DTW_POWER(NUM1, NUM2,
result)

例 2:

@DTW_rPOWER("1.7", NUM2, precision)

DTW_SUBTRACT


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X X

目的

ある数を他の数から減算します。

構文

@DTW_SUBTRACT(number1, number2, precision, result)

@DTW_SUBTRACT(number1, number2, result)

@DTW_rSUBTRACT(number1, number2, precision)

@DTW_rSUBTRACT(number1, number2)


表 71. DTW_SUBTRACT のパラメーター
データ型 パラメーター 用途 説明
浮動 number1 IN 減算の対象とする数を表す変数またはリテラル・ストリング。
浮動 number2 IN 数値を表す変数またはリテラル・ストリング。
整数 precision IN 結果の精度を指定する正の整数を表す変数またはリテラル・ストリング。デフォルトは 9 です。
浮動 result OUT number1number2 の差が含まれている変数。

戻りコード

表 72. DTW_SUBTRACT の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
4000 パラメーターに無効な整数値が含まれています。
4001 パラメーターに無効な値が含まれています。
4002 算術演算の結果に、 サポートされる -999,999,999 から +999,999,999 の範囲外の指数が含まれています。

例 1:

@DTW_SUBTRACT(NUM1, NUM2, comp)
%IF(comp > "0")
<P>$(NUM1) is larger than  $(NUM2).
  %ENDIF
 

この例は、Net.Data のストリングである数値の比較方法を示しています。

例 2:

@DTW_SUBTRACT(NUM1, NUM2, result)

例 3:

@DTW_rSUBTRACT("1.3",
NUM2)


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]