數學函式 (Visual Basic)

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

備註

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

.NET 方法 說明
Abs 傳回數字的絕對值。
Acos 傳回其餘弦為指定數位的角度。
Asin 傳回正弦為指定數位的角度。
Atan 傳回正切函數 (Tangent) 是指定數字的角。
Atan2 傳回正切值是兩個指定數位商的角度。
BigMul 傳回兩個32位數位的完整乘積。
Ceiling 傳回大於或等於指定 Decimal 或 Double的最小整數值。
Cos 傳回指定角度的餘弦值。
Cosh 傳回指定角度的雙曲餘弦值。
DivRem 傳回兩個 32 位或 64 位帶正負號整數的商數,也會傳回輸出參數中的餘數。
Exp 傳回 e (自然對數的基底)升至指定的乘冪。
Floor 傳回小於或等於指定 Decimal 或 Double 數位的最大整數。
IEEERemainder 傳回由另一個指定數位除法所產生之餘數的餘數。
Log 傳回指定數位的自然 (base e) 對數,或指定基底中指定數位的對數。
Log10 傳回指定數位的底數 10 對數。
Max 傳回兩個數位的較大值。
Min 傳回兩個數位的較小值。
Pow 傳回指定的數字,這個數位會引發至指定的乘冪。
Round 傳 Decimal 回 或 Double 值四捨五入到最接近的整數值,或傳回為指定的小數位數。
Sign Integer傳回值,指出數位的符號。
Sin 傳回指定角度的正弦值。
Sinh 傳回指定角度的雙曲正弦值。
Sqrt 傳回指定數位的平方根。
Tan 傳回指定角度的正切值。
Tanh 傳回指定角度的雙曲正切值。
Truncate 計算指定 Decimal 或 Double 數位的整數部分。

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

.NET 方法 說明 提供於
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 傳回指定數位的 Cube 根目錄。 從 .NET Core 2.1 和 .NET Standard 2.1 開始
Clamp 傳value回固定至和max的min內含範圍。 從 .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

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

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

這個範例會使用 Atan 類別的 Math 方法來計算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

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

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

範例 - Exp

這個範例會使用 Exp 類別的 Math 方法,將 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 方法,傳回數位的自然對數。

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 方法,將數位四捨五入為最接近的整數。

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

範例 - 簽署

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

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

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

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

範例 - Sqrt

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

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

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

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

另請參閱