C#/형변환

[C#/.Net][String To Int] String을 Int로 형변환하기

루미_12 2021. 1. 2. 00:25

함수를 이용해 String을 Int로 변경해보자.

C#에서 String을 숫자로 변환하는 방법은 보통 Int.Parse()를 사용한다.

하지만 필자는 확인까지 가능한 Int.TryParse()를 더 애용하는편이다.

1. Int.Parse()

csharp
  string a = "154";
  Int b = (Int.Parse(a));
  MessageBox.Show(b.ToString());

위와 같이 String으로 된 숫자 154를 Int형 154로 변경가능하지만 String값이 숫자가 아닐경우 무조건 에러가 일어나게 된다.

2. Int.TryParse()

csharp
  string a = "154.88";
  Int b;
  if (Int.TryParse(a, out b))
  {
      MessageBox.Show(b.ToString());
  }
  else
  {
      MessageBox.Show("숫자가 아닙니다.");
  }

TryParse()는 두개의 인자를 받으며 첫번째 "a"는 변환할 문자열이고 두번째 "b"는 out 키워드로 숫자로 변환된 값이 해당 인자에 들어가게 된다.

TryParse()의 리턴값은 bool형 이며 성공적으로 변환이 되었으면 ture가 그렇지 않으면 false가 반환된다.


위의 예제는 String a가 Int형일 경우 Out으로 반환 하여 출력하고 실패할 경우 "숫자가 아닙니다." 라는 메세지를 출력하게 되는데 154.88을 변환 시도 해보면 결과값으로 "숫자가 아닙니다."가 출력된다.

float형인 154.88을 Int형으로 변경할때는 자동으로 소수점이 사라지고 154만 남게 되지만 String을 Int로 변환할때는 정확한 Int형이 아니면 변경되지 않는다.

만약 Int.Parse()로 154.88을 변환하면 에러가 나게 된다.

관련글

날다의 운영환경
본체DeskTop
O SWindows10
ApplicationVisualStudio 2019 16.8.4
.NetFramework 4.7.2