.NET Framework Class Library
Decimal.Compare Method
Compares two specified Decimal values.
Assembly: mscorlib (in mscorlib.dll)
Syntax
Visual Basic
Public Shared Function Compare ( _ d1 As Decimal, _ d2 As Decimal _ ) As Integer
C#
public static int Compare( decimal d1, decimal d2 )
Visual C++
public: static int Compare( Decimal d1, Decimal d2 )
F#
static member Compare : d1:decimal * d2:decimal -> int
Parameters
- d1
- Type: System.Decimal
The first value to compare.
- d2
- Type: System.Decimal
The second value to compare.
Return Value
Type: System.Int32A signed number indicating the relative values of d1 and d2.
Return Value | Meaning |
|---|---|
Less than zero | d1 is less than d2. |
Zero | d1 and d2 are equal. |
Greater than zero | d1 is greater than d2. |
Examples
The following code example compares several Decimal values to a reference Decimal value using the Compare method.
Visual Basic
' Example of the Decimal.Compare and static Decimal.Equals methods. Imports System Imports Microsoft.VisualBasic Module DecCompareEqualsDemo Const dataFmt As String = "{0,-45}{1}" ' Compare Decimal parameters, and display them with the results. Sub CompareDecimals( Left as Decimal, Right as Decimal, _ RightText as String ) Console.WriteLine( ) Console.WriteLine( dataFmt, "Right: " & RightText, Right ) Console.WriteLine( dataFmt, "Decimal.Equals( Left, Right )", _ Decimal.Equals( Left, Right ) ) Console.WriteLine( dataFmt, _ "Decimal.Compare( Left, Right )", _ Decimal.Compare( Left, Right ) ) End Sub Sub Main( ) Console.WriteLine( _ "This example of the Decimal.Equals( Decimal, " & _ "Decimal ) and " & vbCrLf & "Decimal.Compare( " & _ "Decimal, Decimal ) methods generates the " & vbCrLf & _ "following output. It creates several different " & _ "Decimal " & vbCrLf & "values and compares them " & _ "with the following reference value." & vbCrLf ) ' Create a reference Decimal value. Dim Left as New Decimal( 123.456 ) Console.WriteLine( dataFmt, "Left: Decimal( 123.456 )", Left ) ' Create Decimal values to compare with the reference. CompareDecimals( Left, New Decimal( 1.2345600E+2 ), _ "Decimal( 1.2345600E+2 )" ) CompareDecimals( Left, 123.4561D, "123.4561D" ) CompareDecimals( Left, 123.4559D, "123.4559D" ) CompareDecimals( Left, 123.456000D, "123.456000D" ) CompareDecimals( Left, _ New Decimal( 123456000, 0, 0, false, 6 ), _ "Decimal( 123456000, 0, 0, false, 6 )" ) End Sub End Module ' This example of the Decimal.Equals( Decimal, Decimal ) and ' Decimal.Compare( Decimal, Decimal ) methods generates the ' following output. It creates several different Decimal ' values and compares them with the following reference value. ' ' Left: Decimal( 123.456 ) 123.456 ' ' Right: Decimal( 1.2345600E+2 ) 123.456 ' Decimal.Equals( Left, Right ) True ' Decimal.Compare( Left, Right ) 0 ' ' Right: 123.4561D 123.4561 ' Decimal.Equals( Left, Right ) False ' Decimal.Compare( Left, Right ) -1 ' ' Right: 123.4559D 123.4559 ' Decimal.Equals( Left, Right ) False ' Decimal.Compare( Left, Right ) 1 ' ' Right: 123.456000D 123.456 ' Decimal.Equals( Left, Right ) True ' Decimal.Compare( Left, Right ) 0 ' ' Right: Decimal( 123456000, 0, 0, false, 6 ) 123.456000 ' Decimal.Equals( Left, Right ) True ' Decimal.Compare( Left, Right ) 0
C#
// Example of the decimal.Compare and static decimal.Equals methods. using System; class DecCompareEqualsDemo { const string dataFmt = "{0,-45}{1}"; // Compare decimal parameters, and display them with the results. public static void CompareDecimals( decimal Left, decimal Right, string RightText ) { Console.WriteLine( ); Console.WriteLine( dataFmt, "Right: "+RightText, Right ); Console.WriteLine( dataFmt, "decimal.Equals( Left, Right )", Decimal.Equals( Left, Right ) ); Console.WriteLine( dataFmt, "decimal.Compare( Left, Right )", Decimal.Compare( Left, Right ) ); } public static void Main( ) { Console.WriteLine( "This example of the " + "decimal.Equals( decimal, decimal ) and \n" + "decimal.Compare( decimal, decimal ) methods " + "generates the \nfollowing 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( 123.456 ); Console.WriteLine( dataFmt, "Left: decimal( 123.456 )", Left ); // Create decimal values to compare with the reference. CompareDecimals( Left, new decimal( 1.2345600E+2 ), "decimal( 1.2345600E+2 )" ); CompareDecimals( Left, 123.4561M, "123.4561M" ); CompareDecimals( Left, 123.4559M, "123.4559M" ); CompareDecimals( Left, 123.456000M, "123.456000M" ); CompareDecimals( Left, new decimal( 123456000, 0, 0, false, 6 ), "decimal( 123456000, 0, 0, false, 6 )" ); } } /* This example of the decimal.Equals( decimal, decimal ) and decimal.Compare( decimal, decimal ) methods generates the following output. It creates several different decimal values and compares them with the following reference value. Left: decimal( 123.456 ) 123.456 Right: decimal( 1.2345600E+2 ) 123.456 decimal.Equals( Left, Right ) True decimal.Compare( Left, Right ) 0 Right: 123.4561M 123.4561 decimal.Equals( Left, Right ) False decimal.Compare( Left, Right ) -1 Right: 123.4559M 123.4559 decimal.Equals( Left, Right ) False decimal.Compare( Left, Right ) 1 Right: 123.456000M 123.456000 decimal.Equals( Left, Right ) True decimal.Compare( Left, Right ) 0 Right: decimal( 123456000, 0, 0, false, 6 ) 123.456000 decimal.Equals( Left, Right ) True decimal.Compare( Left, Right ) 0 */
Visual C++
// Example of the Decimal::Compare and static Decimal::Equals methods. using namespace System; const __wchar_t * protoFmt = L"{0,-45}{1}"; // Compare Decimal parameters, and display them with the results. void CompareDecimals( Decimal Left, Decimal Right, String^ RightText ) { String^ dataFmt = gcnew String( protoFmt ); Console::WriteLine(); Console::WriteLine( dataFmt, String::Concat( "Right: ", RightText ), Right ); Console::WriteLine( dataFmt, "Decimal::Equals( Left, Right )", Decimal::Equals( Left, Right ) ); Console::WriteLine( dataFmt, "Decimal::Compare( Left, Right )", Decimal::Compare( Left, Right ) ); } int main() { Console::WriteLine( "This example of the Decimal::Equals( Decimal, Decimal " ") and \nDecimal::Compare( Decimal, Decimal ) " "methods generates the \nfollowing output. It creates " "several different Decimal \nvalues and compares them " "with the following reference value.\n" ); // Create a reference Decimal value. Decimal Left = Decimal(123.456); Console::WriteLine( gcnew String( protoFmt ), "Left: Decimal( 123.456 )", Left ); // Create Decimal values to compare with the reference. CompareDecimals( Left, Decimal(1.2345600E+2), "Decimal( 1.2345600E+2 )" ); CompareDecimals( Left, Decimal::Parse( "123.4561" ), "Decimal::Parse( \"123.4561\" )" ); CompareDecimals( Left, Decimal::Parse( "123.4559" ), "Decimal::Parse( \"123.4559\" )" ); CompareDecimals( Left, Decimal::Parse( "123.456000" ), "Decimal::Parse( \"123.456000\" )" ); CompareDecimals( Left, Decimal(123456000,0,0,false,6), "Decimal( 123456000, 0, 0, false, 6 )" ); } /* This example of the Decimal::Equals( Decimal, Decimal ) and Decimal::Compare( Decimal, Decimal ) methods generates the following output. It creates several different Decimal values and compares them with the following reference value. Left: Decimal( 123.456 ) 123.456 Right: Decimal( 1.2345600E+2 ) 123.456 Decimal::Equals( Left, Right ) True Decimal::Compare( Left, Right ) 0 Right: Decimal::Parse( "123.4561" ) 123.4561 Decimal::Equals( Left, Right ) False Decimal::Compare( Left, Right ) -1 Right: Decimal::Parse( "123.4559" ) 123.4559 Decimal::Equals( Left, Right ) False Decimal::Compare( Left, Right ) 1 Right: Decimal::Parse( "123.456000" ) 123.456000 Decimal::Equals( Left, Right ) True Decimal::Compare( Left, Right ) 0 Right: Decimal( 123456000, 0, 0, false, 6 ) 123.456000 Decimal::Equals( Left, Right ) True Decimal::Compare( Left, Right ) 0 */
Version Information
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Portable Class Library
Supported in: Portable Class LibraryPlatforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also