C#에서 Decimal.Compare() 메서드는 지정된 두 개의 Decimal 값을 비교하는 데 사용됩니다. 이 메서드는 정적(static) 메서드로, 두 값의 크기 관계를 나타내는 정수를 반환합니다.
문법(Syntax)
Decimal.Compare() 메서드의 기본 문법은 다음과 같습니다.
public static int Compare (decimal val1, decimal val2);
여기서 val1은 비교할 첫 번째 값이고, val2는 비교할 두 번째 값입니다.
반환값
- 0보다 작은 값: val1이 val2보다 작을 경우
- 0: val1과 val2가 같을 경우
- 0보다 큰 값: val1이 val2보다 클 경우
예제 1: 서로 다른 값 비교
다음 예제를 통해 Decimal.Compare() 메서드의 실제 동작을 확인해 보겠습니다.
using System;
public class Demo {
public static void Main(){
Decimal val1 = 45.85m;
Decimal val2 = 35.45m;
Console.WriteLine("Decimal 1 = "+val1);
Console.WriteLine("Decimal 2 = "+val2);
Console.WriteLine("Comparison Value = "+Decimal.Compare(val1,val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Decimal 1 = 45.85 Decimal 2 = 35.45 Comparison Value = 1
val1(45.85)이 val2(35.45)보다 크기 때문에 반환값으로 양수인 1이 출력됩니다.
예제 2: 같은 값 비교
이번에는 두 값이 동일한 경우의 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
Decimal val1 = 65.15m;
Decimal val2 = 65.15m;
Console.WriteLine("Decimal 1 = "+val1);
Console.WriteLine("Decimal 2 = "+val2);
Console.WriteLine("Comparison Value = "+Decimal.Compare(val1,val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Decimal 1 = 65.15 Decimal 2 = 65.15 Comparison Value = 0
두 값이 동일하므로 반환값으로 0이 출력됩니다.
정리
Decimal.Compare() 메서드는 금융 계산처럼 높은 정밀도가 필요한 상황에서 두 Decimal 값의 대소 관계를 판단할 때 유용하게 활용됩니다. 반환값의 부호만 확인하면 되기 때문에 조건문과 함께 사용하면 간결하고 명확한 비교 로직을 구현할 수 있습니다.