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

C#에서 Int16(short)을 Decimal로 암시적 변환하는 방법

C#에서 Int16(short)을 Decimal로 암시적 변환하기

C#의 short 형식은 16비트 부호 있는 정수, 즉 Int16을 나타냅니다. 반면 decimal 형식은 훨씬 넓은 값 범위와 높은 정밀도를 제공하기 때문에, short가 가질 수 있는 모든 값을 데이터 손실 없이 안전하게 담을 수 있습니다. 이러한 이유로 C# 컴파일러는 별도의 캐스팅 없이 자동으로 변환을 수행하는 암시적 변환(implicit conversion)을 지원합니다.

16비트 부호 있는 정수를 Decimal로 암시적으로 변환하려면 먼저 short 타입의 변수에 값을 설정합니다.

short val = -32768;

그다음, 단순히 대입 연산자(=)를 사용해 값을 할당하면 됩니다. 명시적인 형변환(cast) 코드는 필요하지 않습니다.

dec = val;

전체 동작 과정을 확인할 수 있는 예제를 살펴보겠습니다.

예제

using System;
public class Demo {
   public static void Main() {
      short val = -32768;
      decimal dec;
      Console.WriteLine("Implicit conversion from Int16 to Decimal");
      dec = val;
      Console.WriteLine("Decimal : " + dec);
   }
}

출력

Implicit conversion from Int16 to Decimal
Decimal : -32768

실행 결과를 보면 short 값인 -32768이 어떠한 변환 코드 없이도 decimal 변수에 그대로 저장된 것을 확인할 수 있습니다. 이는 decimal이 short의 전체 표현 범위(-32,768 ~ 32,767)를 완전히 포함하고 있기 때문이며, 따라서 변환 과정에서 값이 잘리거나 손실될 위험이 전혀 없습니다.