Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 문자열이 숫자인지 확인하는 방법은 무엇입니까?

<시간/>

숫자가 있는 문자열은 int.TryParse를 사용하여 검증할 수 있습니다. 또는 int.Parse .

Int.Parse는 문자열을 정수로 구문 분석할 수 없는 경우 예외를 throw하는 반면 Int.TryParse는 성공 여부를 나타내는 bool을 반환합니다. 또한 Int.TryParse에는 구문 분석된 문자열의 값을 갖는 out 매개변수가 있습니다.

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         Console.ReadLine();
      }
   }
}

출력

코드의 출력은

Try Parse Interger Number: 123
Parse Interger Number: 123

위의 예에서 int.Tryparse는 out 매개변수의 구문 분석된 문자열과 함께 부울 값을 반환하므로 if 조건은 true를 반환합니다. 또한 int.Parse는 문자열에 적절한 숫자가 포함되어 있으므로 정수 값을 반환합니다.

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         elsem{
            Console.WriteLine($"String doesnot have a proper number");
         }
         Console.ReadLine();
      }
   }
}

출력

위 코드의 출력은

String doesnot have a proper number

문자열에 적절한 숫자가 없기 때문에 int.Tryparse는 false를 반환하고 코드의 else 부분이 실행됩니다. 같은 경우 int.Parse는 아래와 같이 예외를 던집니다.

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         //Exception: Input string was not in correct format.
      }
   }
}