- 공유 링크 만들기
- X
- 이메일
- 기타 앱
C#에서.. 문자열을 숫자로.. 숫자를 문자열로 형 변환을 하려고 하면 어떻게 해야 할 까요?
형 변환은.. 어느 프로그램이든 매우 빈번하게 사용하게 되는 작업 중에 하나 인데요.. C#에 아직 익숙하지 않아서
정리를 해 놓지 않으면 정말 햇 갈리고 손에 잘 익지 않네요..
지난 시간에는 Object 형에 대해서 조금 알아봤었는데 변수형에서 Object형을 짚고 안 넘어갈 수 가 없네요..
Object형은.. C#에서는.. 데이터 형의 조상이 됩니다..
이 형에서 상속 받아서 생성된 피조물인 것이죠..
그래서 아직은 좀 익숙하지 않은데.. object type도 형 변환이 됩니다.. 아직은 잘 모르겠네요;;
그래서.. 아래와 같은 형태로 형변환이 가능합니다. 괄호 ( 변환타입 ) 이것을 앞에 써주어서 변환을 하는 것이죠..
object a = 20;
int b = (int)a;
|
그렇다면... 아래 처럼의 변환도 문제는 없어 보입니다. 하지만.. float라는 32비트 사이즈의 변수를 4비트 int형으로 담으려고 하니 오버플로우가 발생해서 의도하지 않은 값이 들어가겠네요.. 에러는 안 나겠지만 의도하지 않은 결과가 나올 수 있다는 것이죠.. 물론 담으려는 사이즈 안의 값이 들어 있다면 정상 값으로 들어오지만 사이즈보다 큰 값이 있다면 비정상적인 값이 들어간다는 것입니다.
float a = 10.01f;
int b = (int)b;
|
하지만 제가 궁금한 것은 문자열 -> 숫자, 숫자 ->문자열 은 어떻게 되는지 입니다.
그냥.. 아래처럼 하면 되지 않을까? 했는데 이것이 아니네요;;; 이제..햇갈리기 시작합니다.
int a = 10;
string b = (string)a;
|
C#에서는 ToString()메소드와 Parse() 메소드가 그 일을 하는 것 입니다;;
메소드라는 말도 아직 손에 잘 안 익는데요.. delphi의 procedure나 function입니다.
그래서.. 위에 것을 고쳐보면..
int a = 10;
string b = a.ToString();
반대의 경우는 아래와 같이 합니다... 손에 잘 안 익네요 자주 사용해 보는 수밖에...
string c = "32349.24";
float d = float.Parse(c);
string e = "1123";
int f = int.Parse(e); // int f = Convert.Toint32(e) 동일합니다.
|
이상으로 C#의 문자열과 숫자사이의 형변환에 대해 알아봤습니다.
댓글
댓글 쓰기