문자열 숫자로 변환하기

2025. 9. 7. 10:53·⭐C Sharp/07. 메서드(함수)

문자열을 숫자로 변환해야 하는 이유

 

Console.ReadLine 과 같이 콘솔에서 사용자가 값을 입력하면 항상 문자열로 받게 된다.
숫자를 입력하더라도 사람 눈에는 숫자로 보이지만 컴퓨터는 문자열로 인식한다.

컴퓨터에게 숫자와 콘솔에서 입력받은 값을 계산하라고 시켜보자.

string a = Console.ReadLine(); 
// 문자열을 받을수 있는 a 라는 변수에 콘솔에서 123을 입력받는다.

Console.WriteLine( a + 1 );
// 출력되길 원하는 값은 124 이다.
// 하지만 컴퓨터는 123을 문자열로 인식하기 때문에
// 문자열 + 1 이 되어 실제로 출력되는 값은 1231 이 된다.

그러므로 컴퓨터에게 입력시킨 문자열을 숫자로 변환시킬 필요가 있다.

 

Parse

  • 문자열을 원하는 자료형으로 직접 변환한다.
  • 변환이 성공하면 → 변환된 값 반환
  • 변환이 실패하면 → 예외 ( Exception ) 발생 ( 프로그램이 멈출 수도 있음 )
string str = "123";
// 문자열 str 을 담을수 있는 변수안에 123을 저장

int num = int.Parse(str); 
// str 에 있는 문자열을 정수(int)로 변환하고 num 변수에 저장

Console.WriteLine(num); // 123
// num 에 저장되어 있는 정수를 출력

잘못된 문자열을 반환하려 하면 오류 발생

string str = "abc";
// 문자열을 담을수 있는 str 변수 안에 abc 을 저장

int num = int.Parse(str);  // 예외 발생 → 프로그램 중단
// str 변수 안에 저장되어 있는 값 abc 를 꺼내보고 숫자로 변환하려 했으나 실패
// 프로그램이 에러 메세지를 출력하며 중단된다

 

TryParse

  • 문자열을 원하는 자료형으로 변환 시도한다.
  • 변환 성공 여부를 bool 로 반환 ( true / false )
  • 변환된 값은 out 변수에 저장
  • 실패해도 프로그램이 멈추지 않음 ( 안전함 )
string str = "123";
int num = 0;
// 문자열을 담을수 있는 변수 str 을 선언하고 123 값을 담는다
// 정수형을 담을수 있는 변수 num 을 선언하고 0 으로 초기화

if (int.TryParse(str, out num))
// 조건문
// 변수 str 을 열어 값을 꺼내보고 그 값을 숫자로 변환 시도해라
// 변환이 성공하면 (true) , 변환이 실패하면 (false)
// 정수 변환에 성공한 값을 변수 num 에 담는다
{
    Console.WriteLine($"변환 성공: {num}");
}
else
{
    Console.WriteLine("변환 실패");
}
// 만약 (if) str 변환에 성공 (true)했으면
// 콘솔에 변환 성공 출력
// 그렇지 않으면 콘솔에 변환 실패 출력

 

 

정리

구분 Parse TryParse
반환값 변환된 값 성공 여부 ( bool )
변환 실패시 예외 발생 false 반환 ( 안전 )
사용 방식 단순 변환 조건문과 함께 검증

 

 

언제 사용할까

  • Parse → 입력이 확실히 숫자일 때 ( 빠르고 간단하다 )
  • TryParse → 입력이 불확실할 때 ( 안전, 사용자 입력 처리에 자주 사용, 예외 처리 가능 )

 

 

참고자료

Parse

https://learn.microsoft.com/ko-kr/dotnet/api/system.guid.parse?view=net-9.0

TryParse

https://learn.microsoft.com/ko-kr/dotnet/api/system.guid.tryparse?view=net-9.0#system-guid-tryparse(system-string-system-guid@)

'⭐C Sharp > 07. 메서드(함수)' 카테고리의 다른 글

in ( 매개변수 키워드 , 참조 전달 )  (0) 2025.09.28
out ( 매개변수 키워드 , 참조 전달 )  (0) 2025.09.28
ref ( 매개변수 키워드 , 참조 전달 )  (0) 2025.09.28
함수 ( Function )  (0) 2025.09.07
Convert 를 이용한 변환  (0) 2025.09.07
'⭐C Sharp/07. 메서드(함수)' 카테고리의 다른 글
  • out ( 매개변수 키워드 , 참조 전달 )
  • ref ( 매개변수 키워드 , 참조 전달 )
  • 함수 ( Function )
  • Convert 를 이용한 변환
DevHoChan
DevHoChan
맨땅에서 시작하는 코딩 도전
  • DevHoChan
    Debugging Life
    DevHoChan
  • 전체
    오늘
    어제
    • 분류 전체보기 (374)
      • 🕹️Game Life (1)
      • 🖥️Computer Science (5)
      • 📖TIL (141)
        • 🔥Projects (16)
        • 💡DevTips (5)
        • 🤔발생한 문제와 해결 (5)
        • 🔮Unity Graphics (5)
        • 🎤Interview (3)
        • ✅CodingTest (9)
      • 🚀Game Release (4)
      • 🧊Unity Basic (58)
        • 📌용어 사전 (1)
        • 에디터&인터페이스 (3)
        • 디버그 (1)
        • 라이프사이클 (4)
        • 게임오브젝트 (4)
        • 프리팹 (1)
        • 오브젝트풀링 (4)
        • 애트리뷰트 (2)
        • 트랜스폼 (4)
        • 물리&충돌 (1)
        • 프레임&델타타임 (4)
        • 코루틴&이벤트 (7)
        • 수학&보정함수 (3)
        • 디자인패턴 (9)
        • UGUI (3)
        • 벡터 ( Vector ) (3)
        • 씬 ( Scene ) (2)
        • 데이터 관리 (2)
      • ⭐C Sharp (99)
        • 📌용어 사전 (1)
        • 📌문법 사전 (6)
        • 메모리 관리 (3)
        • 00. 문법 (17)
        • 01. 변수 (3)
        • 02. 자료형 (2)
        • 03. 연산자 (6)
        • 04. 조건문 (2)
        • 05. 반복문 (2)
        • 06. 배열 (3)
        • 07. 메서드(함수) (7)
        • 08. 열거형 (3)
        • 09. 구조체 (2)
        • 10. 참조 (2)
        • 11. 객체 지향 (11)
        • 12. 델리게이트 (3)
        • 13. 디자인 패턴 (7)
        • 14. LINQ (1)
        • 📂▼자료구조 (2)
        • 15-1. 제네릭 (3)
        • 15-2. 배열 (4)
        • 15-3. 리스트 (2)
        • 15-4. 스택과 큐 (2)
        • 15-5. 딕셔너리 해시테이블 (2)
        • 15-6. 트리와 그래프 (3)
      • 📊Algorithm (16)
        • BigO (2)
        • 정렬 (4)
        • 셔플 (2)
        • 탐색 (6)
        • 최적화 (1)
      • 📝Game Design (16)
      • 🤖​AI Tools (12)
        • AI 리뷰 분석 (6)
        • Player2 (0)
        • 3D 모델링 (1)
        • 2D 스프라이트 (0)
        • 이미지 (2)
        • 사운드 (1)
        • 동영상 (1)
        • 문서 (1)
      • 🌍Network (6)
      • 🌱Github (11)
        • 기본 개념 (7)
        • 명령어 (1)
        • 도구 활용 (1)
      • ⚙️Visual Studio (5)
        • 🔧설치 및 환경설정 (2)
        • ⌨️HotKey (1)
        • 🚨디버깅 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    문법
    객체지향
    CodingTest
    기획
    OOP
    til
    게임디자인
    c#
    unity
    자료구조
    자료형
    메모리관리
    csharp
    디자인패턴
    algorithm
    게임기획
    부트캠프
    GitHub
    유니티
    gamedesign
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
DevHoChan
문자열 숫자로 변환하기
상단으로

티스토리툴바