C#에서 문자열을 Int로 변환하는 방법
-
C# 문자열에서 정형 전환-
Int16.Parse()
/Int32.Parse()
/Int64.Parse()
메소드 -
C# 문자열에서 정형 전환-
Int16.TryParse()
/Int32.TryParse()
/Int64.TryParse()
메소드 -
C# 문자열에서 정형 전환-
Convert.ToInt16()
/Convert.ToInt32()
/Convert.ToInt64()
메소드
C#을 사용하여 인코딩할 때 문자열을 정형으로 변환하는 것은 쉬운 일이다.이 글에서 우리는 이 목적을 달성하기 위해 가장 간단하고 추천하는 방법들을 소개할 것이다.
C# 문자열에서 정형 전환-Int16.Parse()
/Int32.Parse()
/Int64.Parse()
메소드
Parse()
메소드를 사용하여 숫자의 문자열 표현을 16/32/64 비트 부호있는 정수로 변환 할 수 있습니다. 표현을 위해 여기서부터 32 비트 변환 만 다룰 것입니다.
using System;
public class Instance {
public static void Main() {
string str_var = "123";
int num_var = Int32.Parse(str_var);
System.Console.WriteLine(num_var);
}
}
출력:
123
이 메소드를 사용하는 것의 약간의 단점은 문자열이 일련의 숫자가 아닌 경우FormatException
을 던진다는 것입니다.
Parse()
는 문자열의 시작과 끝에서 공백을 무시하지만, 그 이외의 모든 문자는 성공적인 변환을 위해 적절한 숫자 값이어야합니다.
다음 코드와 같이 try...catch
문을 사용하여 예외를 처리하는 것이 좋습니다.
using System;
public class Instance {
public static void Main() {
string str_var = "abc";
try {
int num_var = Int32.Parse(str_var);
System.Console.WriteLine(num_var);
} catch (FormatException) {
System.Console.WriteLine("Invalid String");
}
}
}
출력:
Invalid String
C# 문자열에서 정형 전환-Int16.TryParse()
/Int32.TryParse()
/Int64.TryParse()
메소드
Parse()
메소드에 대한 적절한 대안으로 간주되는TryParse()
메소드는 실패시 예외를 발생시키지 않습니다. 대신 변환이 실패하면 False
를 반환하여 구현이 더 간단 해집니다.
using System;
public class Instance {
public static void Main() {
bool result;
string str_var = "111";
int num_var;
result = Int32.TryParse(str_var, out num_var);
if (result)
System.Console.WriteLine(num_var);
else
System.Console.WriteLine("Invalid String");
}
}
출력:
111
C# 문자열에서 정형 전환-Convert.ToInt16()
/Convert.ToInt32()
/Convert.ToInt64()
메소드
Convert()
메소드는 문자열 변수를 매개 변수로 사용하고 동등한 16/32/64 비트 부호있는 숫자 값을 리턴합니다. Parse()
메소드와 유사하게이 메소드를 사용하려면 예외를위한try...catch
명령문이 필요합니다.
using System;
public class Instance {
public static void Main() {
string str_var = "123";
try {
int num_var = Convert.ToInt32(str_var);
System.Console.WriteLine(num_var);
} catch (FormatException) {
Console.WriteLine("Invalid String");
} catch (OverflowException) {
Console.WriteLine("The string cannot fit in 32 bit value");
}
}
}
출력:
123
예외는 비싸고 일반적으로 프로그램 흐름에 포함시키는 것이 좋은 방법으로 간주되지 않습니다. 그러나 때때로 Convert()
메소드에서 오버플로 조건과 같은 중요한 정보를 추출하는 것이 유용 할 수 있습니다.
위의 모든 방법은 똑같이 효과적이며 구현과 관련하여 특정 상충 관계가 있습니다. 이 기사에서 고려한 고려 사항에 따라 최적의 것을 선택하는 것이 좋습니다.