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.
Assembly: mscorlib (in mscorlib.dll)
The Math type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() | 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. |
![]() ![]() | 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. |
![]() ![]() | 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. |
![]() ![]() | Cos | Returns the cosine of the specified angle. |
![]() ![]() | Cosh | Returns the hyperbolic cosine of the specified angle. |
![]() ![]() | Exp | Returns 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. |
![]() ![]() | IEEERemainder | Returns 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. |
![]() ![]() | Log10 | Returns 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. |
![]() ![]() | Pow | Returns 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. |
![]() ![]() | 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(Decimal) | Calculates the integral part of a specified decimal number. |
![]() ![]() | Truncate(Double) | Calculates the integral part of a specified double-precision floating-point number. |
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; } public double GetLeftBaseRadianAngle() { double sinX = GetHeight() / m_leftLeg; return Math.Round(Math.Asin(sinX), 2); } public double GetRightBaseRadianAngle() { 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"; } }
Show:


