C# 프로그래밍에서 문자열이 숫자인지 판단하는 두 가지 방법에 대하여 알아보도록 하겠습니다. 첫 번째로는 정규식을 사용한 숫자 판별 방식이며, 두 번째는 문자열을 숫자로 데이터형을 변환하는 방법을 통한 숫자 판별입니다.
C#/WPF 문자열값이 숫자인지 판단
정규식 사용
// 정규식(Regex) 사용
public bool isNumber(string strNumber)
{
return Regex.IsMatch(strNumber, @"^[+-]?\d*$");
}
위 정규식의 IsMatch 함수를 통하여 문자열의 값이 숫자인지 아닌지 판별할 수 있습니다.
해당 문자열이 '0' ~ '9'까지의 숫자로만 이루어져 있다면 true를 반환하며, 숫자가 아닌 경우 false를 반환합니다.
Int32.TryParse 함수 사용
// Int32.TryParse 함수 사용
public bool isNumber(string strNumber)
{
int Number = 0;
try
{
// String to Int 형변환
if (!Int32.TryParse(strNumber, out Number))
{
Console.WriteLine("숫자로만 이루어진 문자열이 아닙니다.");
return false;
}
else
{
Console.WriteLine(string.Format("숫자 = {0}", Number));
}
}
catch(FormatException e)
{
string errMsg = string.Format("숫자 판별 중 ERROR가 발생하였습니다. 사유 = {0}", e.Message);
Console.WriteLine(errMsg);
return false;
}
return true;
}
이때, 문자열의 값이 'NULL'이어도 해당 데이터형 변환 시 false 값을 반환하므로 크게 신경 쓰지 않아도 되지만 혹시 모를 예외처리를 위하여 형변환 시 자주 사용하는 FormatException 예외 처리(try ~ catch)를 해주는 것이 바람직합니다.
이번에는 C# 또는 WPF에서 문자열의 데이터가 숫자인지 판단하는 두 가지 방법에 대하여 알아보았습니다. 간편하게 사용할 수 있는 방법이며, 많이 사용하게 되는 방법이니 알아두시면 좋을 것 같아서 다뤄보았습니다. 감사합니다.
C# 유용한 포스팅 정보
'C# > WPF' 카테고리의 다른 글
[WPF/C#] Visual Studio 자주 사용하는 단축키 모음 (0) | 2023.12.07 |
---|---|
[C#/WPF] DateTime 특정 요일 구하기(DayOfWeek) (0) | 2023.11.15 |
[C#/WPF] Window(윈도우) 현재창 닫기(Close) (0) | 2023.08.17 |
[C#/WPF] ComboBox(콤보박스) 생성 및 사용 방법 (0) | 2023.08.09 |
[C#/WPF] Split 문자열 나누기 (0) | 2023.07.03 |
댓글