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

C# Char.GetNumericValue() 메서드 – 유니코드 문자를 숫자로 변환하는 방법

C#의 Char.GetNumericValue() 메서드는 지정된 유니코드 숫자 문자를 double 형(배정밀도 부동 소수점) 숫자로 변환하는 데 사용됩니다.

이 메서드는 인자로 전달된 문자가 숫자를 나타내는 유니코드 문자라면 해당 숫자 값을 반환하고, 숫자가 아닌 일반 문자라면 -1을 반환한다는 점이 특징입니다.

문법(Syntax)

기본 문법은 다음과 같습니다.

public static double GetNumericValue (char ch);

여기서 매개변수 ch는 변환할 유니코드 문자를 의미합니다.

예제 1 – 숫자가 아닌 문자

먼저 숫자가 아닌 문자 'm'을 전달했을 때의 동작을 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        char val = 'm';
        bool res;
        Console.WriteLine("Hashcode for val = " + val.GetHashCode());
        res = val.Equals('m');
        Console.WriteLine("Return Value = " + res);
        Console.WriteLine("Numeric Value = " + Char.GetNumericValue(val));
    }
}

실행 결과

Hashcode for val = 7143533
Return Value = True
Numeric Value = -1

'm'은 숫자를 나타내는 문자가 아니므로 GetNumericValue() 메서드가 -1을 반환한 것을 확인할 수 있습니다.

예제 2 – 숫자 문자

이번에는 숫자 문자 '5'를 전달해 보겠습니다.

using System;
public class Demo {
    public static void Main(){
        char val = '5';
        bool res;
        Console.WriteLine("Hashcode for val = " + val.GetHashCode());
        res = val.Equals('m');
        Console.WriteLine("Return Value = " + res);
        Console.WriteLine("Numeric Value = " + Char.GetNumericValue(val));
    }
}

실행 결과

Hashcode for val = 3473461
Return Value = False
Numeric Value = 5

'5'는 숫자를 나타내는 유니코드 문자이므로 메서드가 실제 숫자 값인 5(double 형)를 반환했습니다.

정리

Char.GetNumericValue() 메서드는 다음과 같이 동작합니다.

  • 인자로 받은 문자가 숫자를 나타내는 유니코드 문자면 해당 숫자 값을 double 형으로 반환합니다.
  • 숫자가 아닌 문자면 -1을 반환합니다.
  • 분수나 아래첨자 숫자 등 다양한 유니코드 숫자 표현도 처리할 수 있습니다.

문자열에서 특정 문자가 숫자인지 판별하거나, 문자 형태의 숫자를 수치 데이터로 변환해야 할 때 유용하게 활용할 수 있습니다.