# Decimal.Compare(Decimal, Decimal)Decimal.Compare(Decimal, Decimal)Decimal.Compare(Decimal, Decimal)Decimal.Compare(Decimal, Decimal) Method

## Definition

Compares two specified Decimal values.

``````public:
static int Compare(System::Decimal d1, System::Decimal d2);``````
``public static int Compare (decimal d1, decimal d2);``
``static member Compare : decimal * decimal -> int``
``Public Shared Function Compare (d1 As Decimal, d2 As Decimal) As Integer``

#### Parameters

d1
Decimal Decimal Decimal Decimal

The first value to compare.

d2
Decimal Decimal Decimal Decimal

The second value to compare.

#### Returns

A 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 example compares several Decimal values. Note that the first comparison indicates that the two values are equal despite the subtraction operation performed on the `value2` variable. This is because the Decimal type has 29 digits of precision, whereas a difference between these two values can be detected only with 30 digits of precision.

``````using System;

public enum Relationship
{  LessThan = -1, Equals = 0, GreaterThan = 1 }

public class Example
{
public static void Main()
{
decimal value1 = Decimal.MaxValue;
decimal value2 = value1 - .01m;
Console.WriteLine("{0} {2} {1}", value1, value2,
(Relationship) Decimal.Compare(value1, value2));

value2 = value1 / 12m - .1m;
value1 = value1 / 12m;
Console.WriteLine("{0} {2} {1}", value1, value2,
(Relationship) Decimal.Compare(value1, value2));

value1 = value1 - .2m;
value2 = value2 + .1m;
Console.WriteLine("{0} {2} {1}", value1, value2,
(Relationship) Decimal.Compare(value1, value2));
}
}
// The example displays the following output:
//     79228162514264337593543950335 Equals 79228162514264337593543950335
//     6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
//     6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2
``````
``````Public Enum Relationship As Integer
LessThan = -1
Equals = 0
GreaterThan = 1
End Enum

Module Example
Public Sub Main()
Dim value1 As Decimal = Decimal.MaxValue
Dim value2 As Decimal = value1 - .01d
Console.WriteLine("{0} {2} {1}", value1, value2,
CType(Decimal.Compare(value1, value2), Relationship))

value2 = value1 / 12d - .1d
value1 = value1 / 12d
Console.WriteLine("{0} {2} {1}", value1, value2,
CType(Decimal.Compare(value1, value2), Relationship))

value1 = value1 - .2d
value2 = value2 + .1d
Console.WriteLine("{0} {2} {1}", value1, value2,
CType(Decimal.Compare(value1, value2), Relationship))
End Sub
End Module
' The example displays the following output:
'     79228162514264337593543950335 Equals 79228162514264337593543950335
'     6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
'     6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2
``````