【名稱】
Abs
【類別】
數學函數
【原形】
Abs(number)
【參數】
必選的。Number參數是一個任何有效數值型運算式
【傳回值】
同 number 的類型
【異常/錯誤】
無
【描述】
返回參數number 的絕對值。一個數的絕對值是將加號或減號去掉以後的值。例如,ABS(-1) 和 ABS(1) 都返回 1。Abs(5.2)=5.2,Abs(-5)=5
【樣本】
Dim MyNumber
MyNumber = Abs(50.3) ' 返回 50.3。
MyNumber = Abs(-50.3) ' 返回 50.3。
【備忘】
如果 number 包含 Null,則返回 Null,如果 number 是未初始化的變數,則返回 0。
【名稱】
Atn
【類別】
數學函數
【原形】
Atn(number)
【參數】
必選的,number 參數是一個 Double或任何有效數值運算式。
【傳回值】
Double類型
【異常/錯誤】
無
【描述】
返回參數number 的反正切值。
【樣本】
Dim pi
pi = 4 * Atn(1) ' 計算圓周率。
【備忘】
Atn 函數的參數值 (number) 為直角三角形兩邊的比值並返回以弧度為單位的角。這個比值是角的對邊長度除以角的鄰邊長度之商。值的範圍在 -pi/2 和 pi/2 弧度之間。為了將角度轉換為弧度,請將角度乘以 pi/180。為了將弧度轉換為角度,請將弧度乘以 180/pi。
注意:Atn 是 Tan 的反三角函數,Tan 的參數值為角度,返回直角三角形的兩條邊的比值。不要將 Atn 和餘切函數混淆,餘切函數值是正切函數值的倒數,cotangent = (1/tangent)。
【名稱】
Cos
【類別】
數學函數
【原形】
Cos(number)
【參數】
必選的,number 參數是 Double 或任何有效數值運算式,表示一個以弧度為單位的角。
【傳回值】
Double類型
【異常/錯誤】
無
【描述】
返回一個指定一個角的餘弦值。
【樣本】
Dim MyAngle, MySecant
MyAngle = 1.3 ' 定義角度(以“弧度”為單位)。
MySecant = 1 / Cos(MyAngle) ' 利用餘弦計算正割(sec())。
【備忘】
Cos 函數的參數為一個角,並返回直角三角形兩邊的比值。該比值為角的鄰邊長度除以斜邊長度之商。結果的取值範圍在 -1 到 1 之間。
為了將角度轉換成弧度,請將角度乘以 pi/180。為了將弧度轉換成角度,請將弧度乘以 180/pi。
【名稱】
Exp
【類別】
數學函數
【原形】
Exp(number)
【參數】
必選的,number 參數是一個 Double 或任何有效數值運算式
【傳回值】
Double類型
【異常/錯誤】
無
【描述】
返回一個指定 e(自然對數的底,e 的值為2.71828)的某次方。
【樣本】
' 本樣本使用 Exp Function Compute e的某次方。
Dim MyAngle, MyHSin
' 定義角度(以“弧度”為單位)。
MyAngle = 1.3
' 計算雙曲正弦函數值(sin())。
MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2
【備忘】
如果 number 的值超過 709.782712893,則會導致錯誤發生。常數 e 的值大約是 2.718282。注意:Exp 函數的作用和 Log 的作用互補,所以有時也稱做反對數。
【名稱】
Fix
【類別】
數學函數
【原形】
Fix (number)
【參數】
必選的,number 參數是一個 Double 或任何有效數值運算式
【傳回值】
Integer 類型
【異常/錯誤】
無
【描述】
將number的小數部分截去,求其整數部分,例如:Fix(3.8)=3,Fix(-3.8)=-3。
【樣本】
Dim MyNumber
MyNumber = Fix(99.2) ' 返回 99。
MyNumber = Fix(-99.8) ' 返回 -99。
MyNumber = Fix(-99.2) ' 返回 -99。
【備忘】
如果 number 包含 Null,則返回 Null。
【名稱】
Int
【類別】
數學函數
【原形】
Int(number)
【參數】
必選的,number 參數是一個 Double 或任何有效數值運算式
【傳回值】
Integer 類型
【異常/錯誤】
無
【描述】
求不大於number 的最大整數,Int(3.8)=3,Int(-3.8)=-4。
【樣本】
Dim MyNumber
MyNumber = Int(99.8) ' 返回 99。
MyNumber = Int(-99.8) ' 返回 -100。
MyNumber = Int(-99.2) ' 返回 -100。
【備忘】
如果 number 包含 Null,則返回 Null。Int 和 Fix 都會刪除 number 的小數部份而返回剩下的整數。Int 和 Fix 的不同之處在於,如果 number 為負數,則 Int 返回小於或等於 number 的第一個負整數,而 Fix 則會返回大於或等於 number 的第一個負整數。例如,Int 將 -8.4 轉換成 -9,而 Fix 將 -8.4 轉換成 -8。
【名稱】
Log
【類別】
數學函數
【原形】
Log(number)
【參數】
必選的,number 參數是一個 Double 或任何有效大於 0 的數值運算式
【傳回值】
Double類型
【異常/錯誤】
無
【描述】
返回指定的number參數的自然對數值。
【樣本】
本樣本使用 Log 函數得到某數的自然對數值。
Dim MyAngle, MyLog
' 定義角度(以“弧度”為單位)。
MyAngle = 1.3
' 計算反雙曲正弦函數值(inverse sinh())。
MyLog = Log(MyAngle + Sqr(MyAngle * MyAngle + 1))
【備忘】
自然對數是以 e 為底的對數。常數 e 的值大約是 2.718282。
如下所示,將 x 的自然對數值除以 n 的自然對數值,就可以對任意底 n 來計算數值 x 的對數值:
Logn(x) = Log(x) / Log(n)
下面的樣本說明如何編寫一個函數來求以 10 為底的對數值:
Static Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function
【名稱】
Rnd
【類別】
數學函數
【原形】
Rnd[(number)]
【參數】
必選的,number 參數是 Single 或任何有效數值運算式。
【傳回值】
如果 number 的值是
Rnd 產生
小於 0
每次都使用 number 作為隨機數種子得到的相同結果。
大於 0
序列中的下一個隨機數。
等於 0
最近產生的數。
省略
序列中的下一個隨機數。
【異常/錯誤】
無
【描述】
返回一個包含隨機數值的 Single。Rnd 函數返回小於 1 但大於或等於 0 的值。number 的值決定了 Rnd 產生隨機數的方式。
對最初給定的種子都會產生相同的數列,因為每一次調用 Rnd 函數都用數列中的前一個數作為下一個數的種子。
在調用 Rnd 之前,先使用無參數的 Randomize 語句初始化隨機數產生器,該產生器具有根據系統計時器得到的種子。
為了產生某個範圍內的隨機整數,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。
注意 若想得到重複的隨機數序列,在使用具有數值參數的 Randomize 之前直接調用具有負參數值的 Rnd。使用具有同樣 number 值的 Randomize 是不會得到重複的隨機數序列的。
【樣本】
本樣本使用 Rnd 函數隨機產生一個 1 到 6 的隨機整數。
Dim MyValue
MyValue = Int((6 * Rnd) + 1) ' 產生 1 到 6 之間的隨機數值。
【備忘】
無
【名稱】
Sgn
【類別】
數學函數
【原形】
Sgn(number)
【參數】
必選的,number 參數是一個 任何有效數值運算式
【傳回值】
如果 number 為
Sgn 返回
大於 0
1
等於 0
0
小於 0
-1
【異常/錯誤】
無
【描述】
返回一個 Variant (Integer),指出參數的加號或減號。number 參數的符號決定了 Sgn 函數的傳回值。
【樣本】
本樣本使用 Sgn 函數來判斷某數的加號或減號。
Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1) ' 返回 1。
MySign = Sgn(MyVar2) ' 返回 -1。
MySign = Sgn(MyVar3) ' 返回 0。
【備忘】
無
【名稱】
Sin
【類別】
數學函數
【原形】
Sin(number)
【參數】
必選的,number 參數是一個 Double 或任何有效數值運算式,表示一個以弧度為單位的角。
【傳回值】
返回一個Double,指定參數的 sine(正弦)值。
【異常/錯誤】
無
【描述】
Sin 函數取一角度為參數值,並返回角的對邊長度除以斜邊長度的比值。
結果的取值範圍在 -1 到 1 之間。
為了將角度轉換為弧度,請將角度乘以 pi /180。為了將弧度轉換為角度,請將弧度乘以 180/pi。
【樣本】
本樣本使用 Sin 函數來求出一個角的正弦值(sin())。
Dim MyAngle, MyCosecant
MyAngle = 1.3 ' 定義角度(以“弧度”為單位)。
MyCosecant = 1 / Sin(MyAngle) ' 利用正弦來計算餘割(csc())。
【備忘】
無
【名稱】
Sqr
【類別】
數學函數
【原形】
Sqr(number)
【參數】
必選的,number 參數是一個Double 或任何有效大於或等於 0 的數值運算式。
【傳回值】
返回一個 Double。
【異常/錯誤】
無
【描述】
返回指定參數number 的平方根
【樣本】
本樣本使用 Sqr 函數來計算某數的平方根。
Dim MySqr
MySqr = Sqr(4) ' 返回 2。
MySqr = Sqr(23) ' 返回 4.79583152331272。
MySqr = Sqr(0) ' 返回 0。
MySqr = Sqr(-4) ' 產生一個執行階段錯誤(負數不能用此函數開平方根)。
【備忘】
無
【名稱】
Tan
【類別】
數學函數
【原形】
Tan(number)
【參數】
必選的,number 參數是一個Double 或任何有效數值運算式,表示一個以弧度為單位的角度。
【傳回值】
返回一個 Double。
【異常/錯誤】
無
【描述】
返回指定參數number 的正切值。Tan 取一角度為參數值,並返回直角的兩條鄰邊的比值。該比值是角的對邊長度除以角的鄰邊長度的商。
為了將角度轉換為弧度,請將角度乘以 pi/180/180。為了將弧度轉換為角度,請將弧度乘以 180/pi。
【樣本】
本樣本使用 Tan 函數來求出一個角的正切(tan())。
Dim MyAngle, MyCotangent
MyAngle = 1.3 ' 定義角度(以“弧度”為單位)。
MyCotangent = 1 / Tan(MyAngle) ' 利用正切來計算餘切(cot())。
【備忘】
以下為非基本數學函數的列表,皆可由基本數學函數匯出:
函數
由基本函數匯出之公式
以下為引用的內容: Secant(正割) Sec(X) = 1 / Cos(X) Cosecant(餘割) Cosec(X) = 1 / Sin(X) Cotangent(餘切) Cotan(X) = 1 / Tan(X) Inverse Sine (反正弦) Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Inverse Cosine (反餘弦) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Inverse Secant (反正割) Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1)) Inverse Cosecant (反餘割) Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1)) Inverse Cotangent(反餘切) Arccotan(X) = Atn(X) + 2 * Atn(1) Hyperbolic Sine (雙曲正弦) HSin(X) = (Exp(X) - Exp(-X)) / 2 Hyperbolic Cosine (雙曲餘弦) HCos(X) = (Exp(X) + Exp(-X)) / 2 Hyperbolic Tangent (雙曲正切) HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X)) Hyperbolic Secant (雙曲正割) HSec(X) = 2 / (Exp(X) + Exp(-X)) Hyperbolic Cosecant(雙曲餘割) HCosec(X) = 2 / (Exp(X) - Exp(-X)) Hyperbolic Cotangent(雙曲餘切) HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X)) Inverse Hyperbolic Sine(反雙曲正弦) HArcsin(X) = Log(X + Sqr(X * X + 1)) Inverse Hyperbolic Cosine(反雙曲餘弦) HArccos(X) = Log(X + Sqr(X * X - 1)) Inverse Hyperbolic Tangent(反雙曲正切) HArctan(X) = Log((1 + X) / (1 - X)) / 2 Inverse Hyperbolic Secant(反雙曲正割) HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X) Inverse Hyperbolic Cosecant HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X) Inverse Hyperbolic Cotangent (反雙曲餘切) HArccotan(X) = Log((X + 1) / (X - 1)) / 2 以 N 為底的對數 LogN(X) = Log(X) / Log(N) |