Decimal.CompareTo() Method in C#
Last Updated :
11 Jul, 2025
This method is used to compare the current instance to a specified object or Decimal and returns an indication of their relative values. There are 2 methods in the overload list of this method as follows:
- CompareTo(Decimal) Method
- CompareTo(Object) Method
Decimal.CompareTo(Decimal) Method
This method is used to compare the current instance to a specified Decimal object and returns a comparison of their relative values.
Syntax:
public int CompareTo (decimal value);
Here, it takes the object to compare with this instance.
Return Value: It returns a 32-bit signed number indicating the relative values of the current instance and value parameter as follows:
- Less than Zero: if Current Instance < value
- Zero: if Current Instance = value
- Greater than Zero: if Current Instance > value
Below programs illustrate the use of Decimal.CompareTo(Decimal) Method
Example 1:
C#
// C# program to demonstrate the
// Decimal.CompareTo(Double) Method
using System;
class GFG {
// Main Method
public static void Main()
{
// Declaring and initializing value1
decimal value1 = 10;
// Declaring and initializing value2
decimal value2 = 20;
// compare both decimal value
// using CompareTo() method
int status = value1.CompareTo(value2);
// checking the status
if (status > 0)
Console.WriteLine("{0} is greater than {1}",
value1, value2);
else if (status < 0)
Console.WriteLine("{0} is less than {1}",
value1, value2);
else
Console.WriteLine("{0} is equal to {1}",
value1, value2);
}
}
Output: 10 is less than 20
Example 2:
C#
// C# program to demonstrate the
// Decimal.CompareTo(Double) Method
using System;
class GFG {
// Main Method
public static void Main()
{
// calling get() method
get(5, 7);
get(30, 20);
get(10, 20);
get(7, -12);
}
// defining get() method
public static void get(decimal value1,
decimal value2)
{
// using CompareTo() method
int status = value1.CompareTo(value2);
// checking the status
if (status > 0)
Console.WriteLine("{0} is greater than {1}",
value1, value2);
else if (status < 0)
Console.WriteLine("{0} is less than {1}",
value1, value2);
else
Console.WriteLine("{0} is equal to {1}",
value1, value2);
}
}
Output: 5 is less than 7
30 is greater than 20
10 is less than 20
7 is greater than -12
Decimal.CompareTo(Object) Method
This method is used to compare the current instance to a specified object and returns a comparison of their relative values.
Syntax:
public int CompareTo (object value);
Here, it takes the object to compare with this instance, or null.
Return Value: It returns a 32-bit signed number indicating the relative values of the current instance and value parameter as follows:
- Less than Zero: if Current Instance < value
- Zero: if Current Instance = value
- Greater than Zero: if Current Instance > value
Exception: It throws ArgumentException if value is not a null.
Below programs illustrate the use of Decimal.CompareTo(Object) Method
Example 1:
C#
// C# program to demonstrate the
// Decimal.CompareTo(object) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// Declaring and initializing value1
decimal value1 = 10;
// Declaring and initializing value2
object value2 = (decimal)9.8765400E+2;
// compare both decimal value
// using CompareTo() method
int status = value1.CompareTo(value2);
// checking the status
if (status > 0)
Console.WriteLine("{0} is greater than {1}",
value1, value2);
else if (status < 0)
Console.WriteLine("{0} is less than {1}",
value1, value2);
else
Console.WriteLine("{0} is equal to {1}",
value1, value2);
}
catch (ArgumentException e)
{
Console.WriteLine("value2 must be decimal");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
Output: 10 is less than 987.654
Example 2: For ArgumentException
C#
// C# program to demonstrate the
// Decimal.CompareTo(object) Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// Declaring and initializing value1
decimal value1 = 10;
// Declaring and initializing value2
object value2 = 1 / 3;
// using CompareTo() method
int status = value1.CompareTo(value2);
// checking the status
if (status > 0)
Console.WriteLine("{0} is greater than {1}",
value1, value2);
else if (status < 0)
Console.WriteLine("{0} is less than {1}",
value1, value2);
else
Console.WriteLine("{0} is equal to {1}",
value1, value2);
}
catch (ArgumentException e)
{
Console.WriteLine("value2 must be decimal");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
Output: value2 must be decimal
Exception Thrown: System.ArgumentException
Reference:
Explore
Introduction
Fundamentals
Control Statements
OOP Concepts
Methods
Arrays
ArrayList
String
Tuple
Indexers