Math Class

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.

Inheritance Hierarchy

System.Object
System.Math

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

Syntax

```public static class Math
```

The Math type exposes the following members.

Methods

NameDescription
Abs(Decimal)Returns the absolute value of a Decimal number.
Abs(Double)Returns the absolute value of a double-precision floating-point number.
Abs(Int16)Returns the absolute value of a 16-bit signed integer.
Abs(Int32)Returns the absolute value of a 32-bit signed integer.
Abs(Int64)Returns the absolute value of a 64-bit signed integer.
Abs(SByte)Returns the absolute value of an 8-bit signed integer.
Abs(Single)Returns the absolute value of a single-precision floating-point number.
AcosReturns the angle whose cosine is the specified number.
AsinReturns the angle whose sine is the specified number.
AtanReturns the angle whose tangent is the specified number.
Atan2Returns the angle whose tangent is the quotient of two specified numbers.
Ceiling(Decimal)Returns the smallest integral value that is greater than or equal to the specified decimal number.
Ceiling(Double)Returns the smallest integral value greater than or equal to the specified double-precision floating-point number.
CosReturns the cosine of the specified angle.
CoshReturns the hyperbolic cosine of the specified angle.
ExpReturns e raised to the specified power.
Floor(Decimal)Returns the largest integer less than or equal to the specified decimal number.
Floor(Double)Returns the largest integer less than or equal to the specified double-precision floating-point number.
IEEERemainderReturns the remainder resulting from the division of a specified number by another specified number.
Log(Double)Returns the natural (base e) logarithm of a specified number.
Log(Double, Double)Returns the logarithm of a specified number in a specified base.
Log10Returns the base 10 logarithm of a specified number.
Max(Byte, Byte)Returns the larger of two 8-bit unsigned integers.
Max(Decimal, Decimal)Returns the larger of two decimal numbers.
Max(Double, Double)Returns the larger of two double-precision floating-point numbers.
Max(Int16, Int16)Returns the larger of two 16-bit signed integers.
Max(Int32, Int32)Returns the larger of two 32-bit signed integers.
Max(Int64, Int64)Returns the larger of two 64-bit signed integers.
Max(SByte, SByte)Returns the larger of two 8-bit signed integers.
Max(Single, Single)Returns the larger of two single-precision floating-point numbers.
Max(UInt16, UInt16)Returns the larger of two 16-bit unsigned integers.
Max(UInt32, UInt32)Returns the larger of two 32-bit unsigned integers.
Max(UInt64, UInt64)Returns the larger of two 64-bit unsigned integers.
Min(Byte, Byte)Returns the smaller of two 8-bit unsigned integers.
Min(Decimal, Decimal)Returns the smaller of two decimal numbers.
Min(Double, Double)Returns the smaller of two double-precision floating-point numbers.
Min(Int16, Int16)Returns the smaller of two 16-bit signed integers.
Min(Int32, Int32)Returns the smaller of two 32-bit signed integers.
Min(Int64, Int64)Returns the smaller of two 64-bit signed integers.
Min(SByte, SByte)Returns the smaller of two 8-bit signed integers.
Min(Single, Single)Returns the smaller of two single-precision floating-point numbers.
Min(UInt16, UInt16)Returns the smaller of two 16-bit unsigned integers.
Min(UInt32, UInt32)Returns the smaller of two 32-bit unsigned integers.
Min(UInt64, UInt64)Returns the smaller of two 64-bit unsigned integers.
PowReturns a specified number raised to the specified power.
Round(Decimal)Rounds a decimal value to the nearest integral value.
Round(Double)Rounds a double-precision floating-point value to the nearest integral value.
Round(Decimal, Int32)Rounds a decimal value to a specified number of fractional digits.
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 other numbers.
Round(Double, Int32)Rounds a double-precision floating-point value to a specified number of fractional digits.
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 other numbers.
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 other numbers.
Round(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.
Sign(Decimal)Returns a value indicating the sign of a decimal number.
Sign(Double)Returns a value indicating the sign of a double-precision floating-point number.
Sign(Int16)Returns a value indicating the sign of a 16-bit signed integer.
Sign(Int32)Returns a value indicating the sign of a 32-bit signed integer.
Sign(Int64)Returns a value indicating the sign of a 64-bit signed integer.
Sign(SByte)Returns a value indicating the sign of an 8-bit signed integer.
Sign(Single)Returns a value indicating the sign of a single-precision floating-point number.
SinReturns the sine of the specified angle.
SinhReturns the hyperbolic sine of the specified angle.
SqrtReturns the square root of a specified number.
TanReturns the tangent of the specified angle.
TanhReturns the hyperbolic tangent of the specified angle.
Truncate(Decimal)Calculates the integral part of a specified decimal number.
Truncate(Double)Calculates the integral part of a specified double-precision floating-point number.
Top

Fields

NameDescription
ERepresents the natural logarithmic base, specified by the constant, e.
PIRepresents the ratio of the circumference of a circle to its diameter, specified by the constant, π.
Top

Examples

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

```
/// <summary>
/// The following class represents simple functionality of the trapezoid.
/// </summary>
class Example
{
private double m_longBase;
private double m_shortBase;
private double m_leftLeg;
private double m_rightLeg;

public Example(double longbase, double shortbase, double leftLeg, double rightLeg)
{
m_longBase = Math.Abs(longbase);
m_shortBase = Math.Abs(shortbase);
m_leftLeg = Math.Abs(leftLeg);
m_rightLeg = Math.Abs(rightLeg);
}

private double GetRightSmallBase()
{
return (Math.Pow(m_rightLeg, 2.0) - Math.Pow(m_leftLeg, 2.0) + Math.Pow(m_longBase, 2.0) + Math.Pow(m_shortBase, 2.0) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase));
}

public double GetHeight()
{
double x = GetRightSmallBase();
return Math.Sqrt(Math.Pow(m_rightLeg, 2.0) - Math.Pow(x, 2.0));
}

public double GetSquare()
{
return GetHeight() * m_longBase / 2.0;
}

{
double sinX = GetHeight() / m_leftLeg;
return Math.Round(Math.Asin(sinX), 2);
}

{
double x = GetRightSmallBase();
double cosX = (Math.Pow(m_rightLeg, 2.0) + Math.Pow(x, 2.0) - Math.Pow(GetHeight(), 2.0)) / (2 * x * m_rightLeg);
return Math.Round(Math.Acos(cosX), 2);
}

public double GetLeftBaseDegreeAngle()
{
double x = GetLeftBaseRadianAngle() * 180 / Math.PI;
return Math.Round(x, 2);
}

public double GetRightBaseDegreeAngle()
{
double x = GetRightBaseRadianAngle() * 180 / Math.PI;
return Math.Round(x, 2);
}

public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
Example trpz = new Example(20.0, 10.0, 8.0, 6.0);
outputBlock.Text += String.Format("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0") + "\n";
double h = trpz.GetHeight();
outputBlock.Text += "Trapezoid height is: " + h.ToString() + "\n";
double dxR = trpz.GetLeftBaseRadianAngle();
outputBlock.Text += "Trapezoid left base angle is: " + dxR.ToString() + " Radians" + "\n";
double dyR = trpz.GetRightBaseRadianAngle();
outputBlock.Text += "Trapezoid right base angle is: " + dyR.ToString() + " Radians" + "\n";
double dxD = trpz.GetLeftBaseDegreeAngle();
outputBlock.Text += "Trapezoid left base angle is: " + dxD.ToString() + " Degrees" + "\n";
double dyD = trpz.GetRightBaseDegreeAngle();
outputBlock.Text += "Trapezoid left base angle is: " + dyD.ToString() + " Degrees" + "\n";
}
}

```

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone