Export (0) Print
Expand All

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:
© 2014 Microsoft