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

C# Char.IsNumber() 메서드 – 유니코드 문자가 숫자인지 판별하는 방법

C#의 Char.IsNumber() 메서드는 지정된 유니코드 문자가 숫자(Number) 범주로 분류되는지 여부를 나타냅니다. 해당 문자가 숫자에 해당하면 true를, 그렇지 않으면 false를 반환합니다.

구문

Char.IsNumber() 메서드의 기본 구문은 다음과 같습니다.

public static bool IsNumber(char ch);

여기서 매개변수 ch는 평가 대상이 되는 유니코드 문자를 의미합니다.

예제 1: 숫자 문자 판별하기

다음 예제는 Char.IsNumber() 메서드를 사용하여 숫자 문자를 확인하는 방법을 보여줍니다.

using System;
public class Demo {
    public static void Main(){
        bool res;
        char val = '2';
        Console.WriteLine("Value = "+val);
        res = Char.IsNumber(val);
        Console.WriteLine("Is the value a number? = "+res);
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Value = 2
Is the value a number? = True

문자 '2'는 숫자 범주에 속하므로 메서드가 true를 반환한 것을 확인할 수 있습니다.

예제 2: 숫자가 아닌 문자 판별하기

이번에는 숫자가 아닌 문자를 전달했을 때의 결과를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        bool res;
        char val = 'P';
        Console.WriteLine("Value = "+val);
        res = Char.IsNumber(val);
        Console.WriteLine("Is the value a number? = "+res);
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Value = P
Is the value a number? = False

문자 'P'는 알파벳이므로 숫자 범주로 분류되지 않아 false가 반환됩니다.

참고: IsNumber()와 IsDigit()의 차이

Char.IsNumber()는 유니코드 숫자 범주에 속하는 모든 문자를 확인합니다. 여기에는 십진수뿐만 아니라 분수 기호(예: ½)나 로마 숫자 같은 문자도 포함됩니다. 반면 Char.IsDigit()은 '0'부터 '9'까지의 십진수 문자만 확인하므로, 용도에 맞게 적절한 메서드를 선택하는 것이 중요합니다.