오늘의 복습

공재원
∙∙조회 5

Parse와 Convert의 차이

항목int.ParseConvert.ToInt32
받는 것문자열만거의 모든 타입
값이 없을 때오류0을 돌려줌
실수 문자열 "3.7"을 정수로오류오류
실수 값 3.7을 정수로직접 받을 수 없음반올림하여 4

💡 팁: 문자열을 숫자로 바꿀 때는 int.Parse와 Convert.ToInt32중 무엇을 써도 됨. 어느 타입으로 바뀌는지가 이름에 드러나므로 int.Parse 쪽이 읽기 쉬움

  • Parse와 conver는 숫자로 바꿀 수 없는 문자열을 받으면 프로그램을 멈춘다.
사용자가 입력한 것int.Parse 결과
4242
-7-7
4.2멈춤 (정수가 아님)
abc멈춤
빈 입력 (그냥 Enter)멈춤
2147483648멈춤 (int 범위 초과)
42 (앞뒤 공백)42 (공백은 무시됨)

TryParse

  • TryParse는 바꾸기를 시도하고, 성공했는지를 bool로 알려준다. 실패해도 프로그램이 멈추지 않는다.
조각뜻
int.TryParse(...)문자열을 int로 바꾸기를 시도함
첫 번째 인수 input바꿀 문자열
두 번째 인수 out int number성공했을 때 결과를 받을 변수를 여기서 함께 선언함
돌려주는 값성공 여부 (bool)
수단무엇에서 무엇으로바꿀 수 없으면
캐스트 (타입)값숫자 ↔︎ 숫자정밀도 손실·잘림이 가능하며, 타입과 검사 설정에 따라 예외도 발생
int.Parse(문자열)문자열 → 숫자프로그램이 멈춤
Convert.ToInt32(값)거의 모든 타입 → 숫자프로그램이 멈춤. 값이 없으면 0
int.TryParse(문자열, out 결과)문자열 → 숫자멈추지 않고 false

💡 팁: 사용자가 입력한 값을 다룰 때는 TryParse를 기본으로 씀. 코드에 적어 둔 문자열처럼 타입이 확실한 값이면 Parse가 짧아서 좋음