C# decimal 형식이란?
C#의 decimal 형식은 값 형식(value type)으로, 재무 계산이나 회계 처리처럼 높은 정밀도가 필요한 상황에서 주로 사용됩니다. decimal은 128비트 크기를 가지며 약 28~29자리의 유효 숫자를 표현할 수 있어, float나 double에서 발생할 수 있는 부동 소수점 오차 없이 정확한 십진수 연산이 가능합니다.
또한 decimal 형식에는 더하기(+), 빼기(-), 곱하기(*), 나누기(/) 연산자를 별도의 변환 없이 그대로 사용할 수 있습니다.
decimal 변수 선언하기
먼저 두 개의 decimal 값을 설정해 보겠습니다. 이때 숫자 리터럴 뒤에 M(또는 소문자 m) 접미사를 반드시 붙여야 합니다. 접미사가 없으면 컴파일러는 해당 값을 double로 해석하기 때문에 형식 불일치 오류가 발생합니다.
decimal d1 = 5.8M;
decimal d2 = 3.2M;
decimal 값 더하기
두 decimal 값을 더하는 방법은 일반적인 산술 연산과 동일하게 + 연산자를 사용하면 됩니다.
d1 = d1 + d2;
전체 예제
다음은 두 개의 decimal 값을 더한 결과를 콘솔에 출력하는 완전한 C# 프로그램입니다.
using System;
using System.Linq;
class Demo {
static void Main() {
decimal d1 = 5.8M;
decimal d2 = 3.2M;
d1 = d1 + d2;
Console.WriteLine(d1);
}
}
실행 결과
9.0
마무리 정리
C#의 decimal 형식은 값 형식이며 사칙연산 연산자를 기본적으로 지원합니다. decimal 변수를 선언할 때는 M 접미사를 붙여야 하며, 소수점 아래 정확성이 중요한 금융·회계 도메인에서는 float나 double 대신 decimal을 사용하는 것이 안전합니다. 위 예제처럼 간단한 덧셈부터 시작해 뺄셈, 곱셈, 나눗셈까지 동일한 방식으로 활용할 수 있습니다.