C# 문자열이 숫자인지 식별
-
Enumerable.All()
메소드를 사용하여string
이 숫자인지 식별하는 C# 프로그램 -
Regex.IsMatch()
를 사용하여string
이 숫자인지 식별하는 C# 프로그램 -
C#
Int32.TryParse()
방법을 사용하여 문자열이 숫자인지 식별 -
C#
foreach
사이클을 사용하여 문자열이 숫자인지 식별
현실세계에서의 문제를 다룰 때 우리는 입력을 문자열로 사용하고 그것을 정수로 사용하기를 원한다.그것이 가능하도록 하기 위해서 우리는 항상 입력한 문자열이 숫자인지 확인해야만 한다.
C#에서 우리는 입력 문자열이 숫자인지 여부를 식별하기 위해 많은 방법을 사용할 수 있다.
Enumerable.All()
메소드를 사용하여string
이 숫자인지 식별하는 C# 프로그램
Enumerable.All()
메소드는LINQ
에 속합니다. LINQ
는 C#의 일부이며 다른 데이터베이스 및 데이터 소스에 액세스하는 데 사용됩니다. string
이 숫자인지 확인하기 위해이 메소드를 수정할 수 있습니다. char.IsDigit()
메소드를 Enumerable.All()
메소드에 매개 변수로 전달합니다.
이 방법을 사용하는 올바른 구문은 다음과 같습니다.
StringName.All(char.IsDigit);
예제 코드:
using System;
using System.Linq;
public class IdentifyString {
public static void Main() {
string number = "123456";
if (number.All(char.IsDigit)) {
Console.WriteLine("The Given String is a Number.");
} else {
Console.WriteLine("The Given String is Not a Number.");
}
}
}
출력:
The Given String is a Number.
Regex.IsMatch()
를 사용하여string
이 숫자인지 식별하는 C# 프로그램
C#에서는 ‘정규 표현식’을 사용하여 다양한 패턴을 확인할 수 있습니다. ‘정규 표현식’은 특정 동작을 수행하기위한 특정 패턴입니다. C#에는^[0-9]+$
및^\d+$
정규식이있어string
이 숫자인지 확인합니다.
이 방법을 사용하는 올바른 구문은 다음과 같습니다.
Regex.IsMatch(StringName, @"Expression");
예제 코드:
using System;
using System.Text.RegularExpressions;
public class IdentifyString {
public static void Main() {
string number = "123456";
if (Regex.IsMatch(number, @"^[0-9]+$")) {
Console.WriteLine("The Given String is a Number.");
} else {
Console.WriteLine("The Given String is Not a Number.");
}
}
}
출력:
The Given String is a Number.
여기서 중요한 점은 두 개의 ‘정규 표현식’인^[0-9]+$
와^\d+$
가 기능상 동일하지 않다는 것입니다. ^[0-9]+$
는 기본 0-9 문자에 사용되지만^\d+$
유니코드에 사용되는 십진법 숫자는 RegexOptions.ECMAScript
카테고리를 지정하지 않았습니다., 태국어에서๔
는4
로도 숫자로 식별됩니다.
C#Int32.TryParse()
방법을 사용하여 문자열이 숫자인지 식별
Int32.TryParse()
메소드는 숫자의 문자열을 32 비트 부호있는 정수 로 변환하는 데 사용됩니다. 문자열이 숫자가 아닌 경우 성공적으로 변환되지 않으므로이 메소드는 false를 리턴합니다.
이 방법을 사용하는 올바른 구문은 다음과 같습니다.
Int32.TryParse(StringName, out intvariable);
여기서 intvariable
은 초기화되지 않은 정수변수입니다.
예제 코드:
using System;
public class IdentifyString {
public static void Main() {
int n;
string number = "123456";
bool result = Int32.TryParse(number, out n);
if (result) {
Console.WriteLine("The Given String is a Number.");
} else {
Console.WriteLine("The Given String is Not a Number.");
}
}
}
출력:
The Given String is a Number.
C#foreach
사이클을 사용하여 문자열이 숫자인지 식별
이것은 ‘문자열’이 숫자인지 식별하는 가장 기본적인 프로세스입니다. 이 과정에서 우리는foreach
루프를 사용하여string
의 모든 문자가 숫자인지 검사합니다.
foreach
루프를 사용하는 올바른 구문은 다음과 같습니다.
foreach (datatype variablename in somecollection) {
// steps to iterate
}
예제 코드:
using System;
public class IdentifyString {
// custom method to check if a string is a number
public static bool CustomMethod(string number) {
foreach (char c in number) {
if (c >= '0' && c <= '9') {
return true;
}
}
return false;
}
public static void Main() {
string number = "123456";
if (CustomMethod(number)) {
Console.WriteLine("The Given String is a Number.");
} else {
Console.WriteLine("The Given String is Not a Number.");
}
}
}
출력:
The Given String is a Number.