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

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

C#에서는 char 형식을 decimal 형식으로 별도의 캐스팅 연산자 없이 자동으로 변환할 수 있습니다. 이를 암시적 변환(Implicit Conversion)이라고 하며, 데이터 손실 위험이 없기 때문에 컴파일러가 안전하게 처리해 줍니다.

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

먼저 char 변수를 선언하고 문자 값을 할당합니다.

char c = 'p';

그다음 decimal 변수에 해당 값을 그대로 대입하면 암시적 변환이 이루어집니다.

decimal dec;
dec = c;

char 값은 문자 자체가 아니라 해당 문자의 유니코드(ASCII) 코드 값으로 변환됩니다. 예를 들어 문자 'p'의 코드 값은 112입니다.

예제 코드

using System;
public class Demo {
   public static void Main() {
      char c = 'p';
      decimal dec;
      Console.WriteLine("Implicit conversion from Char to Decimal");
      dec = c;
      Console.WriteLine("Decimal : " + dec);
   }
}

실행 결과

Implicit conversion from Char to Decimal
Decimal : 112

동작 원리

위 예제에서 문자 'p'는 유니코드 값 112에 해당합니다. char에서 decimal로의 암시적 변환 시에는 문자 모양이 아니라 이 숫자 코드 값이 decimal 타입으로 저장되므로, 출력 결과로 112가 표시됩니다.

이러한 암시적 변환이 가능한 이유는 decimal 타입이 char보다 훨씬 넓은 범위의 값을 표현할 수 있어 변환 과정에서 데이터 손실이 전혀 발생하지 않기 때문입니다. 반대 방향인 decimal에서 char로의 변환은 값 손실 가능성이 있으므로 반드시 명시적 캐스팅을 사용해야 합니다.