Duration (Pacific Standard Time):
To (Pacific Standard Time):
Impact:
  • None
User Action:
  • None
.NET Framework Class Library

Math Class

Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.

To browse the .NET Framework source code for this type, see the Reference Source.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Public NotInheritable Class Math

The Math type exposes the following members.

  Name Description
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(Decimal) Returns the absolute value of a Decimal number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(Double) Returns the absolute value of a double-precision floating-point number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(Int16) Returns the absolute value of a 16-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(Int32) Returns the absolute value of a 32-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(Int64) Returns the absolute value of a 64-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(SByte) Returns the absolute value of an 8-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Abs(Single) Returns the absolute value of a single-precision floating-point number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Acos Returns the angle whose cosine is the specified number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Asin Returns the angle whose sine is the specified number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Atan Returns the angle whose tangent is the specified number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Atan2 Returns the angle whose tangent is the quotient of two specified numbers.
Public method Static member BigMul Produces the full product of two 32-bit numbers.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Ceiling(Decimal) Returns the smallest integral value that is greater than or equal to the specified decimal number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Ceiling(Double) Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Cos Returns the cosine of the specified angle.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Cosh Returns the hyperbolic cosine of the specified angle.
Public method Static member DivRem(Int32, Int32, Int32) Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter.
Public method Static member DivRem(Int64, Int64, Int64) Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Exp Returns e raised to the specified power.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Floor(Decimal) Returns the largest integer less than or equal to the specified decimal number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Floor(Double) Returns the largest integer less than or equal to the specified double-precision floating-point number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps IEEERemainder Returns the remainder resulting from the division of a specified number by another specified number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Log(Double) Returns the natural (base e) logarithm of a specified number.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Log(Double, Double) Returns the logarithm of a specified number in a specified base.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Log10 Returns the base 10 logarithm of a specified number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Byte, Byte) Returns the larger of two 8-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Decimal, Decimal) Returns the larger of two decimal numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Double, Double) Returns the larger of two double-precision floating-point numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Int16, Int16) Returns the larger of two 16-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Int32, Int32) Returns the larger of two 32-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Int64, Int64) Returns the larger of two 64-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(SByte, SByte) Returns the larger of two 8-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(Single, Single) Returns the larger of two single-precision floating-point numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(UInt16, UInt16) Returns the larger of two 16-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(UInt32, UInt32) Returns the larger of two 32-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Max(UInt64, UInt64) Returns the larger of two 64-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Byte, Byte) Returns the smaller of two 8-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Decimal, Decimal) Returns the smaller of two decimal numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Double, Double) Returns the smaller of two double-precision floating-point numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Int16, Int16) Returns the smaller of two 16-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Int32, Int32) Returns the smaller of two 32-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Int64, Int64) Returns the smaller of two 64-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(SByte, SByte) Returns the smaller of two 8-bit signed integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(Single, Single) Returns the smaller of two single-precision floating-point numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(UInt16, UInt16) Returns the smaller of two 16-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(UInt32, UInt32) Returns the smaller of two 32-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Min(UInt64, UInt64) Returns the smaller of two 64-bit unsigned integers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Pow Returns a specified number raised to the specified power.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Decimal) Rounds a decimal value to the nearest integral value.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Double) Rounds a double-precision floating-point value to the nearest integral value.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Decimal, Int32) Rounds a decimal value to a specified number of fractional digits.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Decimal, MidpointRounding) Rounds a decimal value to the nearest integer. A parameter specifies how to round the value if it is midway between two numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Double, Int32) Rounds a double-precision floating-point value to a specified number of fractional digits.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Double, MidpointRounding) Rounds a double-precision floating-point value to the nearest integer. A parameter specifies how to round the value if it is midway between two numbers.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Decimal, Int32, MidpointRounding) Rounds a decimal value to a specified number of fractional digits. A parameter specifies how to round the value if it is midway between two numbers.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Round(Double, Int32, MidpointRounding) Rounds a double-precision floating-point value to a specified number of fractional digits. A parameter specifies how to round the value if it is midway between two numbers.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(Decimal) Returns a value indicating the sign of a decimal number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(Double) Returns a value indicating the sign of a double-precision floating-point number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(Int16) Returns a value indicating the sign of a 16-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(Int32) Returns a value indicating the sign of a 32-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(Int64) Returns a value indicating the sign of a 64-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(SByte) Returns a value indicating the sign of an 8-bit signed integer.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sign(Single) Returns a value indicating the sign of a single-precision floating-point number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sin Returns the sine of the specified angle.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sinh Returns the hyperbolic sine of the specified angle.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Sqrt Returns the square root of a specified number.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Tan Returns the tangent of the specified angle.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps Tanh Returns the hyperbolic tangent of the specified angle.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Truncate(Decimal) Calculates the integral part of a specified decimal number.
Public method Static member Supported by Portable Class Library Supported in .NET for Windows Store apps Truncate(Double) Calculates the integral part of a specified double-precision floating-point number.
Top
  Name Description
Public field Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps E Represents the natural logarithmic base, specified by the constant, e.
Public field Static member Supported by the XNA Framework Supported by Portable Class Library Supported in .NET for Windows Store apps PI Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.
Top
Note Note

To view the .NET Framework source code for this type, see the Reference Source. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructions.

The following example uses several mathematical and trigonometric functions from the Math class to calculate the inner angles of a trapezoid.

'The following class represents simple functionality of the trapezoid. 
Class MathTrapezoidSample

    Private m_longBase As Double 
    Private m_shortBase As Double 
    Private m_leftLeg As Double 
    Private m_rightLeg As Double 

    Public Sub New(ByVal longbase As Double, ByVal shortbase As Double, ByVal leftLeg As Double, ByVal rightLeg As Double)
        m_longBase = Math.Abs(longbase)
        m_shortBase = Math.Abs(shortbase)
        m_leftLeg = Math.Abs(leftLeg)
        m_rightLeg = Math.Abs(rightLeg)
    End Sub 

    Private Function GetRightSmallBase() As Double
        GetRightSmallBase = (Math.Pow(m_rightLeg, 2) - Math.Pow(m_leftLeg, 2) + Math.Pow(m_longBase, 2) + Math.Pow(m_shortBase, 2) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase))
    End Function 

    Public Function GetHeight() As Double 
        Dim x As Double = GetRightSmallBase()
        GetHeight = Math.Sqrt(Math.Pow(m_rightLeg, 2) - Math.Pow(x, 2))
    End Function 

    Public Function GetSquare() As Double
        GetSquare = GetHeight() * m_longBase / 2
    End Function 

    Public Function GetLeftBaseRadianAngle() As Double 
        Dim sinX As Double = GetHeight() / m_leftLeg
        GetLeftBaseRadianAngle = Math.Round(Math.Asin(sinX), 2)
    End Function 

    Public Function GetRightBaseRadianAngle() As Double 
        Dim x As Double = GetRightSmallBase()
        Dim cosX As Double = (Math.Pow(m_rightLeg, 2) + Math.Pow(x, 2) - Math.Pow(GetHeight(), 2)) / (2 * x * m_rightLeg)
        GetRightBaseRadianAngle = Math.Round(Math.Acos(cosX), 2)
    End Function 

    Public Function GetLeftBaseDegreeAngle() As Double 
        Dim x As Double = GetLeftBaseRadianAngle() * 180 / Math.PI
        GetLeftBaseDegreeAngle = Math.Round(x, 2)
    End Function 

    Public Function GetRightBaseDegreeAngle() As Double 
        Dim x As Double = GetRightBaseRadianAngle() * 180 / Math.PI
        GetRightBaseDegreeAngle = Math.Round(x, 2)
    End Function 

    Public Shared Sub Main()
        Dim trpz As MathTrapezoidSample = New MathTrapezoidSample(20, 10, 8, 6)
        Console.WriteLine("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0")
        Dim h As Double = trpz.GetHeight()
        Console.WriteLine("Trapezoid height is: " + h.ToString())
        Dim dxR As Double = trpz.GetLeftBaseRadianAngle()
        Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians")
        Dim dyR As Double = trpz.GetRightBaseRadianAngle()
        Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians")
        Dim dxD As Double = trpz.GetLeftBaseDegreeAngle()
        Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees")
        Dim dyD As Double = trpz.GetRightBaseDegreeAngle()
        Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees")
    End Sub 
End Class

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.