Unity3d C# toolba 사용해보기

C# 형변환하기 문자열을 숫자로..숫자를 문자열로!




C#에서.. 문자열을 숫자로.. 숫자를 문자열로 형 변환을 하려고 하면 어떻게 해야 할 까요?

형 변환은.. 어느 프로그램이든 매우 빈번하게 사용하게 되는 작업 중에 하나 인데요.. C#에 아직 익숙하지 않아서

정리를 해 놓지 않으면 정말 햇 갈리고 손에 잘 익지 않네요..

지난 시간에는 Object 형에 대해서 조금 알아봤었는데  변수형에서 Object형을 짚고 안 넘어갈 수 가 없네요..

Object형은.. C#에서는..  데이터 형의 조상이 됩니다..

이 형에서 상속 받아서 생성된 피조물인 것이죠..  

그래서 아직은 좀 익숙하지 않은데.. object type도 형 변환이 됩니다..  아직은 잘 모르겠네요;;



C#



그래서.. 아래와 같은 형태로 형변환이 가능합니다.     괄호 ( 변환타입 ) 이것을 앞에 써주어서 변환을 하는 것이죠..

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#의 문자열과 숫자사이의 형변환에 대해 알아봤습니다.











댓글