티스토리 뷰
목차
C# int로 자료형 변환 방법 (TryParse, Convert.ToInt, string 등)
1. TryParse
가장 보편적인 방법은 INT32 형식에 맞춰 TryParse를 하는 것입니다.
1 2 3 4 5 6 7 8 9 10 | string intString = "234"; int i = 0; if (!Int32.TryParse(intString, out i)) { i = -1; } return i; | cs |
2. Nullable 정수와 TryParse
바로 위의 예제에선 형 변환이 정상적으로 이루어지지 않으면 -1을 반환합니다.
그렇지만, -1 자체에 정량적인 의미가 담겨있을 경우 위와 같은 형식은 이용하지 못합니다.
그래서 String을 분석하고 NULL인지 아닌지를 구분하는 형태도 필요합니다.
1 2 3 4 5 6 | private int? ConvertStringToInt(string intString) { int i = 0; return (Int32.TryParse(intString, out i) ? i : (int?)null); } | cs |
3. Convert
기본적으로 예외 처리는 프로그래밍의 기본인데, 이걸 사용하게되면, 조금 복잡해집니다.
그렇지만... 그래도 예외 처리는 당연히 해야죠.
1 2 3 4 5 6 7 8 9 10 11 | int i = 0; try { i = System.Convert.ToInt32(intString); } catch (FormatException) { // String에서 Int로 형변환이 실패한 경우} catch (OverflowException) { // 32비트 정수형이 아닌, 64비트의 경우} | cs |
[C# int 자료형 변환]
4. 기타 등등
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | int i = 0; // bool to Int32 bool b = true; i = Convert.ToInt32(b); // byte to Int32 byte bt = 3; i = Convert.ToInt32(bt); // char to Int32 char c = 'A'; i = Convert.ToInt32(c); // DateTime to Int32 DateTime dt = DateTime.Now; i = Convert.ToInt32(dt); // Decimal to Int32 decimal d = 25.678m; i = Convert.ToInt32(d); // double to Int32 double db = 0.007234; i = Convert.ToInt32(db); | cs |
C# int로 자료형 변환 방법 (TryParse, Convert.ToInt, string 등)