C#에서 decimal 형식은 자료형이 가질 수 있는 최솟값과 최댓값을 손쉽게 확인할 수 있는 상수를 기본적으로 제공합니다. 금융 계산이나 높은 정밀도가 필요한 연산을 다룰 때 이 값들의 범위를 알아두면 매우 유용합니다.
decimal 변수 선언하기
decimal 값을 설정하려면 숫자 뒤에 M 접미사를 붙여야 합니다. 이 접미사는 해당 리터럴이 double이 아닌 decimal 형식임을 컴파일러에 알려주는 역할을 합니다.
decimal d = 5.8M;
decimal의 최솟값과 최댓값
decimal 형식의 최댓값과 최솟값을 가져오려면 다음과 같은 정적 속성을 사용하면 됩니다.
decimal.MaxValue decimal.MinValue
- decimal.MaxValue : decimal이 표현할 수 있는 가장 큰 양수 값
- decimal.MinValue : decimal이 표현할 수 있는 가장 작은 음수 값
아래는 위 속성들을 실제로 사용하는 전체 예제 코드입니다.
예제 코드
using System;
using System.Linq;
class Demo {
static void Main() {
decimal d = 5.8M;
Console.WriteLine(d);
Console.WriteLine("최댓값: " + decimal.MaxValue);
Console.WriteLine("최솟값: " + decimal.MinValue);
}
}실행 결과
5.8 최댓값: 79228162514264337593543950335 최솟값: -79228162514264337593543950335
실행 결과를 보면 decimal 형식은 약 ±7.9 × 1028 범위의 값을 표현할 수 있으며, 소수점 이하 28자리까지 높은 정밀도를 보장한다는 것을 알 수 있습니다. 따라서 돈 계산처럼 오차가 허용되지 않는 상황에서 float나 double 대신 decimal을 사용하는 것이 권장됩니다.