C#/데이터다루기

[C#] 형변환-TryParse

도도돋치 2025. 3. 20. 17:22
Contents 접기
728x90

C#에서 string을 숫자로 변환할 때 실패할 수도 있는 상황이 있다.
예를 들어 "123"은 숫자로 변환할 수 있지만, "hello"는 숫자로 변환할 수 없다.
이때 안전하게 변환하는 방법이 TryParse이다!

 

TryParse의 기본 개념

bool TryParse(string 입력값, out 변환된값);

 

  • 성공하면 true를 반환하고, 변환된값에 변환된 숫자가 저장됨
  • 실패하면 false를 반환하고, 변환된값은 기본값(예: 0)

📌 사용할 수 있는 데이터 형식:
 int.TryParse()
 double.TryParse()
 float.TryParse()
 decimal.TryParse()
 bool.TryParse() 

 

int.TryParse 예제 (문자열 → 정수 변환)

string input = "123";  
if (int.TryParse(input, out int number))
{
    Console.WriteLine($"변환 성공! 숫자: {number}");  
}
else
{
    Console.WriteLine("변환 실패! 숫자가 아닙니다.");  
}

🔹 출력:

변환 성공! 숫자: 123

 "123"은 숫자로 변환 가능하므로 number 123이 저장됨!

 

변환 실패하는 경우

string input = "Hello";  
if (int.TryParse(input, out int number))
{
    Console.WriteLine($"변환 성공! 숫자: {number}");  
}
else
{
    Console.WriteLine("변환 실패! 숫자가 아닙니다.");  
}

🔹 출력:

변환 실패! 숫자가 아닙니다.

 "Hello"는 숫자가 아니므로 변환되지 않고 false 반환

 

TryParse 없이 변환하면 어떻게 될까?

string input = "Hello";  
int number = int.Parse(input); // 예외 발생!

 int.Parse()는 변환할 수 없는 문자열을 만나면 프로그램이 에러(예외)로 멈춤!
📌 그래서 안전한 TryParse()를 쓰는 것이 좋다.

 

📖 정리

 TryParse()는 문자열을 숫자로 변환할 때 안전한 방법
 변환 성공하면 true, 실패하면 false 반환
 예외 발생 없이 프로그램이 안전하게 실행됨
 int, double, float, decimal, bool 등 다양한 데이터형에 사용 가능

 

728x90

'C# > 데이터다루기' 카테고리의 다른 글

[C#] Escape Sequence  (0) 2025.04.14
[C#] Console.ReadLine(), Console.WriteLine(), Console.Read(), Console.Write()  (0) 2025.03.20
[C#] 형변환  (0) 2025.03.19
[C#] 자료형  (0) 2025.03.18
[C#] 변수  (0) 2025.03.18