Export (0) Print
Expand All

Decimal.CompareTo Method (Object)

Compares this instance to a specified Object.

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

public int CompareTo (
	Object value
)
public final int CompareTo (
	Object value
)
public final function CompareTo (
	value : Object
) : int
Not applicable.

Parameters

value

An Object or a null reference (Nothing in Visual Basic).

Return Value

A signed number indicating the relative values of this instance and value.

Return Value

Meaning

Less than zero

This instance is less than value.

Zero

This instance is equal to value.

Greater than zero

This instance is greater than value.

-or-

value is a null reference (Nothing in Visual Basic).

Exception typeCondition

ArgumentException

value is not a Decimal.

Any instance of Decimal, regardless of its value, is considered greater than a null reference (Nothing in Visual Basic).

Parameter value must be a null reference (Nothing in Visual Basic) or an instance of Decimal; otherwise, an exception is thrown.

The following code example compares several Decimal and other objects to a reference Decimal value using the CompareTo method.

// Example of the decimal.CompareTo and decimal.Equals instance 
// methods.
using System;

class DecCompToEqualsObjDemo
{
    // Get the exception type name; remove the namespace prefix.
    public static string GetExceptionType( Exception ex )
    {
        string exceptionType = ex.GetType( ).ToString( );
        return exceptionType.Substring( 
            exceptionType.LastIndexOf( '.' ) + 1 );
    }

    // Compare the decimal to the object parameters, 
    // and display the object parameters with the results.
    public static void CompDecimalToObject( decimal Left, 
        object Right, string RightText )
    {

        Console.WriteLine( "{0,-46}{1}", "object: "+RightText, 
            Right );
        Console.WriteLine( "{0,-46}{1}", "Left.Equals( object )", 
            Left.Equals( Right ) );
        Console.Write( "{0,-46}", "Left.CompareTo( object )" );

        try
        {
            // Catch the exception if CompareTo( ) throws one.
            Console.WriteLine( "{0}\n", Left.CompareTo( Right ) );
        }
        catch( Exception ex )
        {
            Console.WriteLine( "{0}\n", GetExceptionType( ex ) );
        }
    }

    public static void Main( )
    {
        Console.WriteLine( 
            "This example of the decimal.Equals( object ) and \n" +
            "decimal.CompareTo( object ) methods generates the \n" +
            "following output. It creates several different " +
            "decimal \nvalues and compares them with the following " +
            "reference value.\n" );

        // Create a reference decimal value.
        decimal Left = new decimal( 987.654 );

        Console.WriteLine( "{0,-46}{1}\n", 
            "Left: decimal( 987.654 )", Left );

        // Create objects to compare with the reference.
        CompDecimalToObject( Left, new decimal( 9.8765400E+2 ), 
            "decimal( 9.8765400E+2 )" );
        CompDecimalToObject( Left, 987.6541M, "987.6541D" );
        CompDecimalToObject( Left, 987.6539M, "987.6539D" );
        CompDecimalToObject( Left, 
            new decimal( 987654000, 0, 0, false, 6 ), 
            "decimal( 987654000, 0, 0, false, 6 )" );
        CompDecimalToObject( Left, 9.8765400E+2, 
            "Double 9.8765400E+2" );
        CompDecimalToObject( Left, "987.654", "String \"987.654\"" );
    }
}

/*
This example of the decimal.Equals( object ) and
decimal.CompareTo( object ) methods generates the
following output. It creates several different decimal
values and compares them with the following reference value.

Left: decimal( 987.654 )                      987.654

object: decimal( 9.8765400E+2 )               987.654
Left.Equals( object )                         True
Left.CompareTo( object )                      0

object: 987.6541D                             987.6541
Left.Equals( object )                         False
Left.CompareTo( object )                      -1

object: 987.6539D                             987.6539
Left.Equals( object )                         False
Left.CompareTo( object )                      1

object: decimal( 987654000, 0, 0, false, 6 )  987.654000
Left.Equals( object )                         True
Left.CompareTo( object )                      0

object: Double 9.8765400E+2                   987.654
Left.Equals( object )                         False
Left.CompareTo( object )                      ArgumentException

object: String "987.654"                      987.654
Left.Equals( object )                         False
Left.CompareTo( object )                      ArgumentException
*/ 

// Example of the decimal.CompareTo and decimal.Equals instance 
// methods.
import System.* ;

class DecCompToEqualsObjDemo
{
       // Get the exception type name; remove the namespace prefix.
    public static String GetExceptionType(System.Exception ex)
    {
        String exceptionType = ex.GetType().ToString();
        return exceptionType.Substring((exceptionType.LastIndexOf('.') + 1));
    } //GetExceptionType   
   
    // Compare the decimal to the object parameters, 
    // and display the object parameters with the results.
    public static void CompDecimalToObject(System.Decimal left, 
        Object right, String rightText)
    {
        Console.WriteLine("{0,-46}{1}", "object: " + rightText, right);
        Console.WriteLine("{0,-46}{1}", "Left.Equals( object )",
            System.Convert.ToString(left.Equals(right)));
        Console.Write("{0,-46}", "Left.CompareTo( object )");
        try {
            // Catch the exception if CompareTo( ) throws one.
            Console.WriteLine("{0}\n", 
                System.Convert.ToString(left.CompareTo(right)));
        }
        catch (System.Exception ex)    {
            Console.WriteLine("{0}\n", GetExceptionType(ex));
        }
    } //CompDecimalToObject
   
    public static void main(String[] args)
    {
        Console.WriteLine(("This example of the decimal.Equals( object ) and \n"
            + "decimal.CompareTo( object ) methods generates the \n"
            + "following output. It creates several different "
            + "decimal \nvalues and compares them with the following " 
            + "reference value.\n"));

        // Create a reference decimal value.
        System.Decimal left = new System.Decimal(987.654D);

        Console.WriteLine("{0,-46}{1}\n", "Left: decimal( 987.654 )", left);

        // Create objects to compare with the reference.
        CompDecimalToObject(left, new System.Decimal(987.654),
            "decimal( 9.8765400E+2 )");
        CompDecimalToObject(left, System.Convert.ToDecimal(987.6541), 
            "987.6541D");
        CompDecimalToObject(left, System.Convert.ToDecimal(987.6539),
            "987.6539D");
        CompDecimalToObject(left, new Decimal(987654000, 0, 0, false, 
            System.Convert.ToByte(6)), "decimal( 987654000, 0, 0, false, 6 )");
        CompDecimalToObject(left, (System.Double)9.8765400E+2, 
            "Double 9.8765400E+2");
        CompDecimalToObject(left, "987.654", "String \"987.654\"");
    } //main
} //DecCompToEqualsObjDemo

/*
This example of the decimal.Equals( object ) and
decimal.CompareTo( object ) methods generates the
following output. It creates several different decimal
values and compares them with the following reference value.

Left: decimal( 987.654 )                      987.654

object: decimal( 9.8765400E+2 )               987.654
Left.Equals( object )                         True
Left.CompareTo( object )                      0

object: 987.6541D                             987.6541
Left.Equals( object )                         False
Left.CompareTo( object )                      -1

object: 987.6539D                             987.6539
Left.Equals( object )                         False
Left.CompareTo( object )                      1

object: decimal( 987654000, 0, 0, false, 6 )  987.654000
Left.Equals( object )                         True
Left.CompareTo( object )                      0

object: Double 9.8765400E+2                   987.654
Left.Equals( object )                         False
Left.CompareTo( object )                      ArgumentException

object: String "987.654"                      987.654
Left.Equals( object )                         False
Left.CompareTo( object )                      ArgumentException
*/

Windows 98, Windows Server 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 Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show:
© 2014 Microsoft