数学函数 (Visual Basic)

类的方法 System.Math 提供三角、对数和其他常见数学函数。

注解

下表列出了类的方法 System.Math 。 可以在 Visual Basic 程序中使用这些项:

.NET 方法 DESCRIPTION
Abs 返回数字的绝对值。
Acos 返回其余弦值是指定数字的角度。
Asin 返回正弦值是指定数字的角度。
Atan 返回正切值为指定数字的角度。
Atan2 返回其正切值是两个指定数字的商的角度。
BigMul 返回两个 32 位数字的完整乘积。
Ceiling 返回大于或等于指定或Double等于的Decimal最小整型值。
Cos 返回指定角度的余弦值。
Cosh 返回指定角度的双曲余弦值。
DivRem 返回两个 32 位或 64 位有符号整数的商,并返回输出参数中的余数。
Exp 返回 e (自然对数的基数)提升到指定幂。
Floor 返回小于或等于指定 DecimalDouble 数字的最大整数。
IEEERemainder 返回由另一个指定数字除法得出的余数。
Log 返回指定数字的自然 (base 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 方法 DESCRIPTION 适用于
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 返回 value 固定到非独占范围 minmax 从 .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

此示例使用 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

另请参阅