Math Class
TOC
Collapse the table of content
Expand the table of content

Math Class

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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

System.Object
  System.Math

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public NotInheritable Class Math

The Math type exposes the following members.

  NameDescription
Public methodStatic memberAbs(Decimal)Returns the absolute value of a Decimal number.
Public methodStatic memberAbs(Double)Returns the absolute value of a double-precision floating-point number.
Public methodStatic memberAbs(Int16)Returns the absolute value of a 16-bit signed integer.
Public methodStatic memberAbs(Int32)Returns the absolute value of a 32-bit signed integer.
Public methodStatic memberAbs(Int64)Returns the absolute value of a 64-bit signed integer.
Public methodStatic memberAbs(SByte)Returns the absolute value of an 8-bit signed integer.
Public methodStatic memberAbs(Single)Returns the absolute value of a single-precision floating-point number.
Public methodStatic memberAcosReturns the angle whose cosine is the specified number.
Public methodStatic memberAsinReturns the angle whose sine is the specified number.
Public methodStatic memberAtanReturns the angle whose tangent is the specified number.
Public methodStatic memberAtan2Returns the angle whose tangent is the quotient of two specified numbers.
Public methodStatic memberCeiling(Decimal)Returns the smallest integral value that is greater than or equal to the specified decimal number.
Public methodStatic memberCeiling(Double)Returns the smallest integral value greater than or equal to the specified double-precision floating-point number.
Public methodStatic memberCosReturns the cosine of the specified angle.
Public methodStatic memberCoshReturns the hyperbolic cosine of the specified angle.
Public methodStatic memberExpReturns e raised to the specified power.
Public methodStatic memberFloor(Decimal)Returns the largest integer less than or equal to the specified decimal number.
Public methodStatic memberFloor(Double)Returns the largest integer less than or equal to the specified double-precision floating-point number.
Public methodStatic memberIEEERemainderReturns the remainder resulting from the division of a specified number by another specified number.
Public methodStatic memberLog(Double)Returns the natural (base e) logarithm of a specified number.
Public methodStatic memberLog(Double, Double)Returns the logarithm of a specified number in a specified base.
Public methodStatic memberLog10Returns the base 10 logarithm of a specified number.
Public methodStatic memberMax(Byte, Byte)Returns the larger of two 8-bit unsigned integers.
Public methodStatic memberMax(Decimal, Decimal)Returns the larger of two decimal numbers.
Public methodStatic memberMax(Double, Double)Returns the larger of two double-precision floating-point numbers.
Public methodStatic memberMax(Int16, Int16)Returns the larger of two 16-bit signed integers.
Public methodStatic memberMax(Int32, Int32)Returns the larger of two 32-bit signed integers.
Public methodStatic memberMax(Int64, Int64)Returns the larger of two 64-bit signed integers.
Public methodStatic memberMax(SByte, SByte)Returns the larger of two 8-bit signed integers.
Public methodStatic memberMax(Single, Single)Returns the larger of two single-precision floating-point numbers.
Public methodStatic memberMax(UInt16, UInt16)Returns the larger of two 16-bit unsigned integers.
Public methodStatic memberMax(UInt32, UInt32)Returns the larger of two 32-bit unsigned integers.
Public methodStatic memberMax(UInt64, UInt64)Returns the larger of two 64-bit unsigned integers.
Public methodStatic memberMin(Byte, Byte)Returns the smaller of two 8-bit unsigned integers.
Public methodStatic memberMin(Decimal, Decimal)Returns the smaller of two decimal numbers.
Public methodStatic memberMin(Double, Double)Returns the smaller of two double-precision floating-point numbers.
Public methodStatic memberMin(Int16, Int16)Returns the smaller of two 16-bit signed integers.
Public methodStatic memberMin(Int32, Int32)Returns the smaller of two 32-bit signed integers.
Public methodStatic memberMin(Int64, Int64)Returns the smaller of two 64-bit signed integers.
Public methodStatic memberMin(SByte, SByte)Returns the smaller of two 8-bit signed integers.
Public methodStatic memberMin(Single, Single)Returns the smaller of two single-precision floating-point numbers.
Public methodStatic memberMin(UInt16, UInt16)Returns the smaller of two 16-bit unsigned integers.
Public methodStatic memberMin(UInt32, UInt32)Returns the smaller of two 32-bit unsigned integers.
Public methodStatic memberMin(UInt64, UInt64)Returns the smaller of two 64-bit unsigned integers.
Public methodStatic memberPowReturns a specified number raised to the specified power.
Public methodStatic memberRound(Decimal)Rounds a decimal value to the nearest integral value.
Public methodStatic memberRound(Double)Rounds a double-precision floating-point value to the nearest integral value.
Public methodStatic memberRound(Decimal, Int32)Rounds a decimal value to a specified number of fractional digits.
Public methodStatic memberRound(Decimal, MidpointRounding)Rounds a decimal value to the nearest integer. A parameter specifies how to round the value if it is midway between two other numbers.
Public methodStatic memberRound(Double, Int32)Rounds a double-precision floating-point value to a specified number of fractional digits.
Public methodStatic memberRound(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 other numbers.
Public methodStatic memberRound(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 other numbers.
Public methodStatic memberRound(Double, Int32, MidpointRounding)Rounds a double-precision floating-point value to the specified number of fractional digits. A parameter specifies how to round the value if it is midway between two other numbers.
Public methodStatic memberSign(Decimal)Returns a value indicating the sign of a decimal number.
Public methodStatic memberSign(Double)Returns a value indicating the sign of a double-precision floating-point number.
Public methodStatic memberSign(Int16)Returns a value indicating the sign of a 16-bit signed integer.
Public methodStatic memberSign(Int32)Returns a value indicating the sign of a 32-bit signed integer.
Public methodStatic memberSign(Int64)Returns a value indicating the sign of a 64-bit signed integer.
Public methodStatic memberSign(SByte)Returns a value indicating the sign of an 8-bit signed integer.
Public methodStatic memberSign(Single)Returns a value indicating the sign of a single-precision floating-point number.
Public methodStatic memberSinReturns the sine of the specified angle.
Public methodStatic memberSinhReturns the hyperbolic sine of the specified angle.
Public methodStatic memberSqrtReturns the square root of a specified number.
Public methodStatic memberTanReturns the tangent of the specified angle.
Public methodStatic memberTanhReturns the hyperbolic tangent of the specified angle.
Public methodStatic memberTruncate(Decimal)Calculates the integral part of a specified decimal number.
Public methodStatic memberTruncate(Double)Calculates the integral part of a specified double-precision floating-point number.
Top

  NameDescription
Public fieldStatic memberERepresents the natural logarithmic base, specified by the constant, e.
Public fieldStatic memberPIRepresents the ratio of the circumference of a circle to its diameter, specified by the constant, π.
Top

The following code sample 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 Example

   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 Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim trpz As Example = New Example(20, 10, 8, 6)
      outputBlock.Text += String.Format("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0") & vbCrLf
      Dim h As Double = trpz.GetHeight()
      outputBlock.Text &= "Trapezoid height is: " + h.ToString() & vbCrLf
      Dim dxR As Double = trpz.GetLeftBaseRadianAngle()
      outputBlock.Text &= "Trapezoid left base angle is: " + dxR.ToString() + " Radians" & vbCrLf
      Dim dyR As Double = trpz.GetRightBaseRadianAngle()
      outputBlock.Text &= "Trapezoid right base angle is: " + dyR.ToString() + " Radians" & vbCrLf
      Dim dxD As Double = trpz.GetLeftBaseDegreeAngle()
      outputBlock.Text &= "Trapezoid left base angle is: " + dxD.ToString() + " Degrees" & vbCrLf
      Dim dyD As Double = trpz.GetRightBaseDegreeAngle()
      outputBlock.Text &= "Trapezoid left base angle is: " + dyD.ToString() + " Degrees" & vbCrLf
   End Sub

End Class



Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

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

Show:
© 2017 Microsoft