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'까지의 십진수 문자만 확인하므로, 용도에 맞게 적절한 메서드를 선택하는 것이 중요합니다.