Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 Int32를 Decimal로 암시적 변환하는 방법

C#에서 int 타입은 32비트 부호 있는 정수, 즉 Int32를 나타냅니다. int 값의 범위는 -2,147,483,648부터 2,147,483,647까지이며, 이 값들은 모두 decimal 타입으로 데이터 손실 없이 표현할 수 있기 때문에 별도의 캐스팅 연산자 없이 자동으로(암시적으로) 변환이 가능합니다.

Int32에서 Decimal로 암시적 변환하기

Int32를 Decimal로 암시적 변환하려면 먼저 int 변수에 값을 설정합니다.

int val = 392;

그다음, decimal 타입의 변수에 해당 값을 그대로 할당하기만 하면 됩니다.

decimal d;
d = val;

별도의 명시적 캐스팅 없이 단순 대입만으로 변환이 완료됩니다. 아래는 전체 실행 예제입니다.

예제 코드

using System;

public class Demo {
   public static void Main() {
      int val = 767;
      decimal d;
      
      Console.WriteLine("Int32(정수)에서 Decimal로의 암시적 변환");
      
      d = val;
      
      Console.WriteLine("Decimal : " + d);
   }
}

출력 결과

Int32(정수)에서 Decimal로의 암시적 변환
Decimal : 767

암시적 변환이 가능한 이유

C# 컴파일러는 변환 과정에서 데이터 손실이나 예외가 발생하지 않는다고 판단되면 암시적 변환을 허용합니다. decimal은 128비트 정밀 숫자 타입으로, int가 가질 수 있는 모든 값을 오차 없이 담을 수 있으므로 int에서 decimal로의 변환은 항상 안전합니다.

반대로 decimal을 int로 변환할 때는 소수점 이하 자릿수가 잘리거나 범위를 초과할 수 있기 때문에 반드시 명시적 캐스팅((int))을 사용해야 한다는 점을 기억해 두세요.