Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Abs Method

Math.Abs Method

Returns the absolute value of a specified number.

Overload List

Returns the absolute value of a Decimal number.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(Decimal) As Decimal
[C#] public static decimal Abs(decimal);
[C++] public: static Decimal Abs(Decimal);
[JScript] public static function Abs(Decimal) : Decimal;

Returns the absolute value of a double-precision floating-point number.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(Double) As Double
[C#] public static double Abs(double);
[C++] public: static double Abs(double);
[JScript] public static function Abs(double) : double;

Returns the absolute value of a 16-bit signed integer.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(Short) As Short
[C#] public static short Abs(short);
[C++] public: static short Abs(short);
[JScript] public static function Abs(Int16) : Int16;

Returns the absolute value of a 32-bit signed integer.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(Integer) As Integer
[C#] public static int Abs(int);
[C++] public: static int Abs(int);
[JScript] public static function Abs(int) : int;

Returns the absolute value of a 64-bit signed integer.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(Long) As Long
[C#] public static long Abs(long);
[C++] public: static __int64 Abs(__int64);
[JScript] public static function Abs(long) : long;

Returns the absolute value of an 8-bit signed integer. This method is not CLS-compliant.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(SByte) As SByte
[C#] public static sbyte Abs(sbyte);
[C++] public: static char Abs(char);
[JScript] public static function Abs(SByte) : SByte;

Returns the absolute value of a single-precision floating-point number.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Abs(Single) As Single
[C#] public static float Abs(float);
[C++] public: static float Abs(float);
[JScript] public static function Abs(float) : float;

Example

[Visual Basic, C#, C++] The following code sample uses Abs to assist in the computation of the inner angles of a given trapezoid.

[Visual Basic, C#, C++] Note   This example shows how to use one of the overloaded versions of Abs. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
'The following class represents simple functionallity 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 trpezoid'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


[C#] 
/// <summary>
/// The following class represents simple functionallity of the Trapezoid
/// </summary>
class MathTrapezoidSample
{
    private double m_longBase;
    private double m_shortBase;
    private double m_leftLeg;
    private double m_rightLeg;

    public MathTrapezoidSample(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);
    }

    static void Main(string[] args)
    {
        MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0);
        Console.WriteLine("The trpezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0");
        double h = trpz.GetHeight();
        Console.WriteLine("Trapezoid height is: " + h.ToString());
        double dxR = trpz.GetLeftBaseRadianAngle();
        Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians");
        double dyR = trpz.GetRightBaseRadianAngle();
        Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians");
        double dxD = trpz.GetLeftBaseDegreeAngle();
        Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees");
        double dyD = trpz.GetRightBaseDegreeAngle();
        Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees");
    }
}

[C++] 
/// <summary>
/// The following class represents simple functionality of the Trapezoid
/// </summary>

public __gc class MathTrapezoidSample {
private:
   double m_longBase;
   double m_shortBase;
   double m_leftLeg;
   double m_rightLeg;

public:
   MathTrapezoidSample(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));
   }

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

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

   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);
   }

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

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

int main() {
   MathTrapezoidSample* trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0);
   Console::WriteLine(S"The trpezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0");

   double h = trpz->GetHeight();
   Console::WriteLine(S"Trapezoid height is: {0}", h.ToString());

   double dxR = trpz->GetLeftBaseRadianAngle();
   Console::WriteLine(S"Trapezoid left base angle is: {0} Radians", dxR.ToString());

   double dyR = trpz->GetRightBaseRadianAngle();
   Console::WriteLine(S"Trapezoid right base angle is: {0} Radians", dyR.ToString());

   double dxD = trpz->GetLeftBaseDegreeAngle();
   Console::WriteLine(S"Trapezoid left base angle is: {0} Degrees", dxD.ToString());

   double dyD = trpz->GetRightBaseDegreeAngle();
   Console::WriteLine(S"Trapezoid left base angle is: {0} Degrees", dyD.ToString());
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

Math Class | Math Members | System Namespace

Show:
© 2015 Microsoft