C#에서 Int32 값을 decimal(십진수) 타입으로 변환하려면 Convert.ToDecimal() 메서드를 사용하면 됩니다.
Int32는 32비트 부호 있는 정수(signed integer)를 나타내는 타입으로, -2,147,483,648부터 2,147,483,647까지의 값을 저장할 수 있습니다. 반면 decimal은 소수점 이하 정밀도가 필요한 금융 계산 등에 주로 사용되는 타입입니다.
먼저 다음과 같은 Int32 값이 있다고 가정해 보겠습니다.
int val = 2923;
이 값을 decimal 타입으로 변환하려면 아래와 같이 Convert.ToDecimal() 메서드에 해당 변수를 전달합니다.
decimal decVal = Convert.ToDecimal(val);
이제 전체 예제 코드를 살펴보겠습니다.
예제 코드
using System;
public class Demo {
public static void Main() {
int val = 2923;
decimal decVal = Convert.ToDecimal(val);
Console.WriteLine("Int32 값 {0}이(가) decimal 값 {1:N2}(으)로 변환되었습니다.", val, decVal);
}
}출력 결과
Int32 값 2923이(가) decimal 값 2,923.00(으)로 변환되었습니다.
출력 형식 지정자 {1:N2}를 사용하면 결과가 소수점 둘째 자리까지 표시되며, 천 단위 구분 기호(콤마)도 자동으로 적용됩니다.
참고 사항
Int32에서 decimal로의 변환은 항상 안전하게 수행됩니다. decimal 타입이 표현할 수 있는 값의 범위가 Int32보다 훨씬 넓기 때문에 데이터 손실이나 오버플로우 없이 암시적으로도 변환이 가능합니다. 따라서 아래와 같이 캐스팅 없이 직접 대입하는 것도 허용됩니다.
int val = 2923; decimal decVal = val; // 암시적 변환 가능