數學函式 (Visual Basic)

System.Math 類別的方法提供三角、對數和其他常見的數學函式。

備註

以下資料表列出 System.Math 類別的方法。 您可以在 Visual Basic 程式中使用這些函式:

.NET 方法 描述
Abs 傳回 數字的絕對值。
Acos 傳回餘弦函數 (Cosine) 是指定數字的角。
Asin 傳回正弦函數 (Sine) 是指定數字的角。
Atan 傳回正切函數 (Tangent) 是指定數字的角。
Atan2 傳回正切函數是兩個指定數字之商數的角。
BigMul 傳回 2 個 32 位元數字的完整乘積。
Ceiling 傳回大於或等於指定 DecimalDouble 的最小整數值。
Cos 傳回指定角的餘弦函數。
Cosh 傳回指定角的雙曲線餘弦函數。
DivRem 傳回兩個 32 位元或 64 位元帶正負號的整數商數,並傳回餘數做為輸出參數。
Exp 傳回 e (自然對數的底數) 的指定次方。
Floor 傳回小於或等於指定 DecimalDouble 數字的最大整數。
IEEERemainder 傳回指定數字除以另一個指定數字所得的餘數。
Log 傳回指定數字的自然 (底數 e) 對數,或指定底數的指定數字對數。
Log10 傳回指定數字的以 10 為底數的對數。
Max 傳回兩個數字中較大的數字。
Min 傳回兩個數字中較小的一個。
Pow 傳回具有指定乘冪數的指定數字。
Round 傳回 DecimalDouble 值四捨五入為最接近的整數值,或傳回指定的小數位數。
Sign 傳回指示數字正負號的 Integer 值。
Sin 傳回指定角的正弦函數。
Sinh 傳回指定角的雙曲線正弦函數。
Sqrt 傳回指定數字的平方根。
Tan 傳回指定角的正切函數。
Tanh 傳回指定角的雙曲線正切函數。
Truncate 計算指定 DecimalDouble 數字的整數部分。

下表列出不存在於 .NET Framework 中,但在 .NET Standard 或 .NET Core 中新增的 System.Math 類別方法:

.NET 方法 描述 Available in
Acosh 傳回雙曲線餘弦函數是指定數字的角。 從 .NET Core 2.1 和 .NET Standard 2.1 開始
Asinh 傳回雙曲線正弦函數是指定數字的角。 從 .NET Core 2.1 和 .NET Standard 2.1 開始
Atanh 傳回雙曲線正弦函數是指定數字的角。 從 .NET Core 2.1 和 .NET Standard 2.1 開始
BitDecrement 傳回下一個比 x 小的最小值。 從 .NET Core 3.0 開始
BitIncrement 傳回下一個比 x 大的最大值。 從 .NET Core 3.0 開始
Cbrt 傳回指定數字的立方根。 從 .NET Core 2.1 和 .NET Standard 2.1 開始
Clamp 傳回限制為 minmax 內含範圍的 value 從 .NET Core 2.0 和 .NET Standard 2.1 開始
CopySign 傳回量級為 x 且符號為 y 的值。 從 .NET Core 3.0 開始
FusedMultiplyAdd 傳回 (x * y) + z,四捨五入為一個三元運算。 從 .NET Core 3.0 開始
ILogB 傳回以 2 為底數時指定數字的整數對數。 從 .NET Core 3.0 開始
Log2 傳回以 2 為底數時指定數字的對數。 從 .NET Core 3.0 開始
MaxMagnitude 傳回兩個雙精確度浮點數中較大的那個量級。 從 .NET Core 3.0 開始
MinMagnitude 傳回兩個雙精確度浮點數中較小的那個量級。 從 .NET Core 3.0 開始
ScaleB 傳回有效率計算的 x * 2^n。 從 .NET Core 3.0 開始

若要在不使用限定性條件的情況下運用這些函式,請將下列程式碼新增至原始程式檔頂端,將 System.Math 命名空間匯入您的專案中:

Imports System.Math

範例 - Abs

這個範例會使用 Math 類別的 Abs 方法來計算數字的絕對值。

Dim x As Double = Math.Abs(50.3)
Dim y As Double = Math.Abs(-50.3)
Console.WriteLine(x)
Console.WriteLine(y)
' This example produces the following output:
' 50.3
' 50.3

範例 - Atan

這個範例會使用 Math 類別的 Atan 方法來計算 pi 的值。

Public Function GetPi() As Double
    ' Calculate the value of pi.
    Return 4.0 * Math.Atan(1.0)
End Function

注意

System.Math 類別包含 Math.PI 常數欄位。 您可以直接使用,而不必計算。

範例 - Cos

這個範例會使用 Math 類別的 Cos 方法傳回角度的餘弦值。

Public Function Sec(angle As Double) As Double
    ' Calculate the secant of angle, in radians.
    Return 1.0 / Math.Cos(angle)
End Function

範例 - Exp

這個範例會使用 Math 類別的 Exp 方法傳回 e 的次方。

Public Function Sinh(angle As Double) As Double
    ' Calculate hyperbolic sine of an angle, in radians.
    Return (Math.Exp(angle) - Math.Exp(-angle)) / 2.0
End Function

範例 - Log

這個範例會使用 Math 類別的 Log 方法傳回數字的自然對數。

Public Function Asinh(value As Double) As Double
    ' Calculate inverse hyperbolic sine, in radians.
    Return Math.Log(value + Math.Sqrt(value * value + 1.0))
End Function

範例 - Round

這個範例會使用 Math 類別的 Round 方法,將數字四捨五入到最接近的整數。

Dim myVar2 As Double = Math.Round(2.8)
Console.WriteLine(myVar2)
' The code produces the following output:
' 3

範例 - Sign

這個範例會使用 Math 類別的 Sign 方法來判斷數字的符號。

Dim mySign1 As Integer = Math.Sign(12)
Dim mySign2 As Integer = Math.Sign(-2.4)
Dim mySign3 As Integer = Math.Sign(0)
Console.WriteLine(mySign1)
Console.WriteLine(mySign2)
Console.WriteLine(mySign3)
' The code produces the following output:
' 1
' -1
' 0

範例 - Sin

這個範例會使用 Math 類別的 Sin 方法傳回角度的正弦值。

Public Function Csc(angle As Double) As Double
    ' Calculate cosecant of an angle, in radians.
    Return 1.0 / Math.Sin(angle)
End Function

範例 - Sqrt

這個範例會使用 Math 類別的 Sqrt 方法來計算數字的平方根。

Dim mySqrt1 As Double = Math.Sqrt(4)
Dim mySqrt2 As Double = Math.Sqrt(23)
Dim mySqrt3 As Double = Math.Sqrt(0)
Dim mySqrt4 As Double = Math.Sqrt(-4)
Console.WriteLine(mySqrt1)
Console.WriteLine(mySqrt2)
Console.WriteLine(mySqrt3)
Console.WriteLine(mySqrt4)
' The code produces the following output:
' 2
' 4.79583152331272
' 0
' NaN

範例 - Tan

這個範例會使用 Math 類別的 Tan 方法傳回角度的正切值。

Public Function Ctan(angle As Double) As Double
    ' Calculate cotangent of an angle, in radians.
    Return 1.0 / Math.Tan(angle)
End Function

另請參閱