C#에서는 데이터 타입을 쉽게 변환 할 수 있도록 하는 문법을 제공해 줍니다.
알아두면 편리합니다.
C#에서 String 타입에 문자열을 int형으로 변환하는 방법입니다.
int.Parse를 이용하여 아래와 같이 사용하면 됩니다.
1 2 3 | String str = "12345"; int number = int.Parse(str); //변환 Console.WriteLine(number); //출력 |
하지만 아래와 같이 String 타입의 문자열에 숫자가 아닌 문자가 들어있을 경우엔 에러가 발생하게 됩니다.
1 2 3 | String str = "1a2"; int number = int.Parse(str); //에러발생 Console.WriteLine(number); | cs |
Unhandled Exception: System.FormatException: Input string was not in a correct format.
이와같은 에러가 발생하게 됩니다.
이와 같은 에러발생을 방지하려면 TryParse() 함수를 이용하면 됩니다.
정상적으로 변환이 되면 true가 반환되고 실패하면 false가 반환이 됩니다.
함수의 원형은 아래와 같습니다.
bool int.TryParse(String s, out int number);
아래는 사용 예제입니다.
1 2 3 4 5 6 7 8 9 10 | String str = "1a2"; int number; if(int.TryParse(str, out number)) { Console.WriteLine(number); } else { Console.WriteLine("fail"); } |
int형 말고도 소수를 저장할 수 있는 double 형 역시 같은 방식으로 사용하면 됩니다.
1 2 3 4 5 6 7 8 9 10 | String str = "123.4"; double number; if(double.TryParse(str, out number)) { Console.WriteLine(number); } else { Console.WriteLine("fail"); } | cs |
날짜와 시간을 저장하는 자료형인 DateTime형 역시 아래와 같이 사용하면 됩니다.
1 2 3 4 5 6 7 8 9 10 | String str = "17 april 2017"; DateTime dateTime; if(DateTime.TryParse(str, out dateTime)) { Console.WriteLine(dateTime); } else { Console.WriteLine("fail"); } | cs |
'닷넷,C#,.NET' 카테고리의 다른 글
C# Stopwatch 클래스를 사용하여 프로그램 실행 시간 측정 하기 (0) | 2018.04.18 |
---|---|
닷넷(.NET) NuGet package 사이트 주소 (0) | 2018.04.17 |
C# 6.0, 7.0 새로운 기능들 소개 사이트 (0) | 2018.04.16 |
C#/.NET Nullable 타입과 null 체크 및 처리 (0) | 2018.04.15 |
C#/.NET double(부동소수점)와 decimal(고정소수점) 차이 (4) | 2018.04.15 |