# Math Functions (Visual Basic)

The methods of the System.Math class provide trigonometric, logarithmic, and other common mathematical functions.

## Remarks

The following table lists methods of the System.Math class. You can use these in a Visual Basic program:

.NET method Description
Abs Returns the absolute value of a number.
Acos Returns the angle whose cosine is the specified number.
Asin Returns the angle whose sine is the specified number.
Atan Returns the angle whose tangent is the specified number.
Atan2 Returns the angle whose tangent is the quotient of two specified numbers.
BigMul Returns the full product of two 32-bit numbers.
Ceiling Returns the smallest integral value that's greater than or equal to the specified Decimal or Double.
Cos Returns the cosine of the specified angle.
Cosh Returns the hyperbolic cosine of the specified angle.
DivRem Returns the quotient of two 32-bit or 64-bit signed integers, and also returns the remainder in an output parameter.
Exp Returns e (the base of natural logarithms) raised to the specified power.
Floor Returns the largest integer that's less than or equal to the specified Decimal or Double number.
IEEERemainder Returns the remainder that results from the division of a specified number by another specified number.
Log Returns the natural (base e) logarithm of a specified number or the logarithm of a specified number in a specified base.
Log10 Returns the base 10 logarithm of a specified number.
Max Returns the larger of two numbers.
Min Returns the smaller of two numbers.
Pow Returns a specified number raised to the specified power.
Round Returns a Decimal or Double value rounded to the nearest integral value or to a specified number of fractional digits.
Sign Returns an Integer value indicating the sign of a number.
Sin Returns the sine of the specified angle.
Sinh Returns the hyperbolic sine of the specified angle.
Sqrt Returns the square root of a specified number.
Tan Returns the tangent of the specified angle.
Tanh Returns the hyperbolic tangent of the specified angle.
Truncate Calculates the integral part of a specified Decimal or Double number.

The following table lists methods of the System.Math class that don't exist in .NET Framework but are added in .NET Standard or .NET Core:

.NET method Description Available in
Acosh Returns the angle whose hyperbolic cosine is the specified number. Starting with .NET Core 2.1 and .NET Standard 2.1
Asinh Returns the angle whose hyperbolic sine is the specified number. Starting with .NET Core 2.1 and .NET Standard 2.1
Atanh Returns the angle whose hyperbolic tangent is the specified number. Starting with .NET Core 2.1 and .NET Standard 2.1
BitDecrement Returns the next smallest value that compares less than x. Starting with .NET Core 3.0
BitIncrement Returns the next largest value that compares greater than x. Starting with .NET Core 3.0
Cbrt Returns the cube root of a specified number. Starting with .NET Core 2.1 and .NET Standard 2.1
Clamp Returns value clamped to the inclusive range of min and max. Starting with .NET Core 2.0 and .NET Standard 2.1
CopySign Returns a value with the magnitude of x and the sign of y. Starting with .NET Core 3.0
FusedMultiplyAdd Returns (x * y) + z, rounded as one ternary operation. Starting with .NET Core 3.0
ILogB Returns the base 2 integer logarithm of a specified number. Starting with .NET Core 3.0
Log2 Returns the base 2 logarithm of a specified number. Starting with .NET Core 3.0
MaxMagnitude Returns the larger magnitude of two double-precision floating-point numbers. Starting with .NET Core 3.0
MinMagnitude Returns the smaller magnitude of two double-precision floating-point numbers. Starting with .NET Core 3.0
ScaleB Returns x * 2^n computed efficiently. Starting with .NET Core 3.0

To use these functions without qualification, import the System.Math namespace into your project by adding the following code to the top of your source file:

Imports System.Math


## Example - Abs

This example uses the Abs method of the Math class to compute the absolute value of a number.

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


## Example - Atan

This example uses the Atan method of the Math class to calculate the value of pi.

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


Note

The System.Math class contains Math.PI constant field. You can use it rather than calculating it.

## Example - Cos

This example uses the Cos method of the Math class to return the cosine of an angle.

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


## Example - Exp

This example uses the Exp method of the Math class to return e raised to a power.

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


## Example - Log

This example uses the Log method of the Math class to return the natural logarithm of a number.

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


## Example - Round

This example uses the Round method of the Math class to round a number to the nearest integer.

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


## Example - Sign

This example uses the Sign method of the Math class to determine the sign of a number.

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


## Example - Sin

This example uses the Sin method of the Math class to return the sine of an angle.

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


## Example - Sqrt

This example uses the Sqrt method of the Math class to calculate the square root of a number.

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


## Example - Tan

This example uses the Tan method of the Math class to return the tangent of an angle.

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