0 out of 1 rated this helpful - Rate this topic

Math.Abs Method (Double)

.NET Framework 2.0

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

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

public static double Abs (
double value
)
public static double Abs (
double value
)
public static function Abs (
value : double
) : double

Parameters

value

A number in the range MinValuevalueMaxValue.

Return Value

A double-precision floating-point number, x, such that 0 x MaxValue.

If value is equal to NegativeInfinity or PositiveInfinity, the return value is PositiveInfinity. If value is equal to NaN, the return value is NaN.

The following code sample uses Abs to assist in the computation of the inner angles of a given trapezoid.

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

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

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

/// <summary>
/// The following class represents simple functionallity of the Trapezoid
/// </summary>
class MathTrapezoidSample
{
private double mLongBase;
private double mShortBase;
private double mLeftLeg;
private double mRightLeg;
public MathTrapezoidSample(double longBase, double shortBase,
double leftLeg, double rightLeg)
{
mLongBase = System.Math.Abs(longBase);
mShortBase = System.Math.Abs(shortBase);
mLeftLeg = System.Math.Abs(leftLeg);
mRightLeg = System.Math.Abs(rightLeg);
} //MathTrapezoidSample

private double GetRightSmallBase()
{
return (System.Math.Pow(mRightLeg, 2.0)
- System.Math.Pow(mLeftLeg, 2.0)
+ System.Math.Pow(mLongBase, 2.0)
+ System.Math.Pow(mShortBase, 2.0)
- 2 * mShortBase * mLongBase) / (2 * (mLongBase - mShortBase));
} //GetRightSmallBase

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

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

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

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

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

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

public 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: "
+ System.Convert.ToString(h));
double dxR = trpz.GetLeftBaseRadianAngle();
Console.WriteLine("Trapezoid left base angle is: "
+ System.Convert.ToString(dxR) + " Radians");
double dyR = trpz.GetRightBaseRadianAngle();
Console.WriteLine("Trapezoid right base angle is: "
+ System.Convert.ToString(dyR) + " Radians");
double dxD = trpz.GetLeftBaseDegreeAngle();
Console.WriteLine("Trapezoid left base angle is: "
+ System.Convert.ToString(dxD) + " Degrees");
double dyD = trpz.GetRightBaseDegreeAngle();
Console.WriteLine("Trapezoid left base angle is: "
+ System.Convert.ToString(dyD) + " Degrees");
} //main
} //MathTrapezoidSample

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback