这些函数可以让您完成数学运算。
NLS 针对数学函数的考虑: Net.Data 根据运行 Net.Data 的 Web 服务器上指定的区域设置在数值中显示小数点。例如,如果 Web 服务器上指定小数点为一个逗号 (,),则 Net.Data 使用逗号将十进制数据格式化。Net.Data 使用以下设置确定哪个字符用于指定 小数点:
对于数学计算,有下列函数可用:
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
将两个数值相加。
格式
@DTW_ADD(number1, number2, precision, result)
@DTW_ADD(number1, number2, result)
@DTW_rADD(number1, number2, precision)
@DTW_rADD(number1, number2)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示数值的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 与 number2 之和的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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")
| 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)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示被除数的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 除以 number2 的结果的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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")
| 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)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示被除数的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 除以 number2 的余数的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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")
| 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)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number | IN | 一个表示数值的变量或文字串。 |
| 整数 | before | IN | 一个表示正整数的变量或文字串。这是一个可选参数。必须输入 一个空串(""),以使用另外的参数。 |
| 整数 | after | IN | 一个表示正整数的变量或文字串。这是一个可选参数。必须输入 一个空串(""),以指定另外的参数。 |
| 整数 | expp | IN | 一个表示正整数的变量或文字串。必须指定一个空串 ("")来指定附加的参数。 |
| 整数 | expt | IN | 一个表示正整数的变量或文字串。必须输入 一个空串(""),以指定另外的参数。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 一个包含指定舍入和格式状态的数的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 4000 | 参数中包含无效的全数值。 |
| 4001 | 参数中包含无效的数值。 |
用法注意事项
例
例 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")
| 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)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示被除数的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 除以 number2 整数部分的 的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
将两个数值相乘。
格式
@DTW_MULTIPLY(number1, number2, precision, result)
@DTW_MULTIPLY(number1, number2, result)
@DTW_rMULTIPLY(number1, number2, precision)
@DTW_rMULTIPLY(number1, number2)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示数值的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 和 number2 的乘积的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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)
| 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)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示要被提升为乘方的数值的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 的 number2 次方的结果的 变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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)
| 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)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 浮点数 | number1 | IN | 一个表示被减数的变量或文字串。 |
| 浮点数 | number2 | IN | 一个表示数值的变量或文字串。 |
| 整数 | precision | IN | 一个表示正整数的变量或文字串,此整数指定了 结果的精确度。缺省值是 9。 |
| 浮点数 | result | OUT | 包含 number1 和 number2 之差的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -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)