본문 바로가기
C#/WPF

[C#/WPF] 문자열이 숫자인지 판단(Regex.IsMatch, Int32.TryParse)

by 코딩이라구 2023. 11. 13.

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# 문자를 숫자로 String to int 형변환

C#에서 String 타입을 사용하면서 형변환이 필요한 경우가 자주 있습니다. 이번에는 문자를 숫자로 데이터 형태를 변환하는 방법 String to int의 3가지 형변환 방식에 대하여 알아보도록 하겠습니다.

chragu.com

 

C# 문자열(string) Null과 Empty 체크 비교

C#에서 string 변수를 사용하면서 Null 값과 Empty 값을 비교하는 방법에 대하여 작성해보려고 합니다. 비교 함수인 string 클래스의 IsNullOrEmpty와 IsNullOrWhiteSpace 함수의 사용법과 두 함수의 차이점에 대

chragu.com

 

C# String.Format 문자열 다양한 숫자 표현 방법 (돈, 진법, 백분율 등)

C# String.Format 함수를 사용하여 문자열을 다양한 형태의 숫자로 표현이 가능합니다. 돈, 10진법, 소수점, 백분율 등 여러 가지 형태로 변환하여 출력하는 방법을 알아보도록 하겠습니다. C# String.For

chragu.com

댓글