본문 바로가기
개발언어/C#

[C#] TryParse 숫자체크

by 창용이랑 2023. 5. 22.
728x90

C#에서 특정 string값의 숫자 체크(number check)가 필요할 경우 TryParse라는 함수를 활용해 간단하게 숫자 체크가 가능합니다.

 

특징 : 체크해야될 string값이 숫자인 경우, int타입으로 컨버팅해 리턴가능

        체크해야될 string값이 숫자가 아닌 경우, 설정한 기본값으로 리턴 가능

 

*기본적으로 TryParse()의 리턴 타입은 boolean 입니다만,  레퍼런스 형태로 반환이 가능한 out 을 활용해

컨버팅한 결과값을 리턴 받을 수 있습니다.

 

아래 num이라는 string 변수의 값이 숫자인지 체크하는 간단한 코드입니다.

 

사용법 : int.TryParse("체크해야될 값", out 리턴값)

 

using System;
 
namespace vmpoStudy01
{
    class Program
    {
        static void Main(string[] args)
        {
            //CASE 1. 숫자인경우
            string num = "10";
            int returnVal = 0;
 
            //숫자,문자여부 체크
            bool bl = int.TryParse(num, out returnVal);
 
            Console.WriteLine("bl : "+ bl);
            Console.WriteLine("returnVal : "+returnVal);

            //실행 결과 bl : true
            //실행 결과 returnVal : 10

            //숫자가 아닌경우
            string num2 = "a";
            int returnVal2 = 0;
 
            //숫자,문자여부 체크
            bool bl2 = int.TryParse(num, out returnVal2);
 
            Console.WriteLine("bl2 : "+ bl2);
            Console.WriteLine("returnVal2: "+returnVal2);
 
             //실행 결과 bl2 : false
            //실행 결과 returnVal2 : 0
 
        }
    }
}

숫자체크시 함수 1개로 체크가 가능하며, int형태로 변환된 리턴값도 얻을 수 있습니다.

int.TryParse는 C#에서 숫자체크 로직 또는 숫자 변환이 필요한 경우 유용하게 사용 할 수 있을 것 같습니다.

 

*추가적으로,

TryParse는 int32.TryParse , double.TryParse,  char.TryParse 형태 등 다양한 방식으로 사용이 가능하며

각 타입에 맞게 변환된 결과과 true,false 여부를 확인 할 수 있습니다.

 

 

출처 : https://vmpo.tistory.com/11