IBM 書籍

參考手冊


算術函數

這些函數可讓您作算術的計算。

算術函數的 NLS 考量: Net.Data 會根據執行 Net.Data 的 Web 伺服器上所指定的區域設定值, 來顯示數值中的小數點。例如,Web 伺服器上小數點若是指定為逗點 (,), Net.Data 便使用逗點,格式化含小數的資料。Net.Data 使用下列設定值, 以決定哪個字元被指定為小數點。

針對 OS/390、Windows NT、OS/2 及 UNIX 作業系統:
Web 伺服器執行時的語言環境 (LOCALE)

針對 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

目的

兩數相加。

格式

@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 輸入參數包含 NULL 值。
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 包含將 number1 除以 number2 之結果的變數。

回覆碼

表 60. DTW_DIVIDE 回覆碼

回覆碼 說明
-1001 伺服器無法處理 Net.Data 的配置記憶體要求。
1001 輸入參數包含 NULL 值。
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 包含將 number1 除以 number2 之餘數的變數。

回覆碼

表 62. DTW_DIVIDEREM 回覆碼

回覆碼 說明
-1001 伺服器無法處理 Net.Data 的配置記憶體要求。
1001 輸入參數包含 NULL 值。
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 輸入參數包含 NULL 值。
1002 輸入參數包含的字串有空字元結尾。
1003 函數呼叫中傳遞的參數超過容許數目,或少於函數要求的最小數目。
1005 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。
1006 文字字串傳遞給函數呼叫中的參數, 但此參數必須是輸出參數。
4000 參數包含無效的整數值。
4001 參數包含無效的數值。

用法注意事項

  1. 如果只有指定 number 參數,則結果將會格式化成為 @DTW_rADD(number,"0") 執行後的結果。

  2. beforeafter 參數將說明,有多少字元 會分別被用來作 result 參數中整數與 小數部份。如果您省略了這些參數中的一項或兩項, 則作為那部份的字元數與所需的一樣多。

  3. 如果 before 參數不足以包含數字的 整數部份(加上負數之前的負號),則會產生錯誤的結果。 如果 before 參數大於該部分之所需,則 number 參數值將會以空白填補在左邊。 如果 after 參數的大小與 number 參數的小數部份不同時,則數字將被四捨五入(或以零填補)以適合其大小。 指定 0 會導致數字被四捨五入為整數。

  4. exppexpt 參數可控制結果的指數部份。 expp 參數設定 指數部份位置的數量;預設值是使用與所需的一樣多 (可能是零)。 expt 參數設定使用指數表示法的觸發點。 預設值是 precision 參數的預設值。

  5. 如果 expp 是 0,則不提供指數,且數字將以簡單格式表示, 如有必要的話會再加上零。如果 expp 沒有大到足夠包含指數, 則會產生錯誤。

  6. 如果整數或小數部份所需位置的數量分別超出 expt 或二倍的 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 包含 number1 除以 number2 所得商的整數部份的變數。

回覆碼

表 66. DTW_INTDIV 回覆碼

回覆碼 說明
-1001 伺服器無法處理 Net.Data 的配置記憶體要求。
1001 輸入參數包含 NULL 值。
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

目的

兩個數字相乘。

格式

@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 輸入參數包含 NULL 值。
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 輸入參數包含 NULL 值。
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 輸入參數包含 NULL 值。
1002 輸入參數包含的字串有空字元結尾。
1003 函數呼叫中傳遞的參數超過容許數目,或少於函數要求的最小數目。
1005 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。
1006 文字字串傳遞給函數呼叫中的參數, 但此參數必須是輸出參數。
4000 參數包含無效的整數值。
4001 參數包含無效的數值。
4002 運算作業產生的指數超過支援範圍 -999,999,999 至 +999,999,999。

範例

範例 1

@DTW_SUBTRACT(NUM1, NUM2, comp)
%IF(comp > "0")
<P>$(NUM1) 大於 $(NUM2)。
%ENDIF
 

這個範例顯現一個比較數值的方式,其 為 Net.Data 中的字串。

範例 2

@DTW_SUBTRACT(NUM1, NUM2, result)

範例 3

@DTW_rSUBTRACT("1.3", NUM2)


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]