2017년 11월 18일 토요일

String을 int로, int를 String으로 형변환 (Java, C#)

코딩중에 형변환은 무진장 자주 사용하고 중요하지만 은근히 사용하려면 형식이나 문법이 기억나질 않아 자주 찾아 본 기억이 많아 이렇게 한번 작성합니다. ^^

저도 이렇게 작성해두고는 또 나중에 언젠가 코딩하다 여길 다시 찾아보게 될꺼 같네요.

우선 자바입니다.

1
2
3
4
5
6
7
8
//문자형 변수 선언
String strTemp = "14";
 
//String형을 int형으로 변환
int intTemp = Integer.parserInt(strTemp);
 
//int형을 String형으로 변환
String strTemp2 = String.valueOf(intTemp);

자바에서 형변환 할때는 그냥 속 편하게 각 형식별 클래스에 속한 매서드를 호출하는 형식 입니다.

이번엔 C# 입니다.

1
2
3
4
5
6
7
//String tp int
int intTemp = Convert.ToInt32(String strTemp);
int intTemp = Int32.Parse(String strTemp);
 
//int to String
int intTemp = 1;
String strTemp = intTemp.ToString();

C#에서는 String 형으로 변환시킬땐 아주 간단하게 ToString() 매서드를 호출하면 됩니다.

반면 Int에서 String형으로 변환 시킬때는 자주 사용되는 방법이 위에서 처럼 2가지가 있습니다.

Convert를 사용하는 방법과 Parse를 사용하는 방법인데요 물론 둘 다 형변환 하는 기능은 같기 때문에 형변환만을 위한 목적이면 어느걸 사용하든 상관이 없습니다.

다만 둘의 가장 큰 차이점은 바로 매서드에 들어갈 변수가 Null일 경우 대응하는 방식인데요 Convert의 경우엔 Null을 넣어도 걍 Null로 변환하고 넘어가고, Parse는 Exception을 발생 시킵니다.

Convert의 경우엔 null을 거르기 위해 일부로 조건문을 추가로 달아야 하거나 잊어버리는 경우가 생길수 있으나 null에 대한 걱정이 전혀 없을 경우엔 오히려 깔끔해지고 편한 코딩이 됩니다.

Parse는 Convert의 경우와 반대가 되겠지요.

저처럼 분명히 잘 아는데 매서드 이름이 기억 안나거나 가물가물 하셨던 분들께 도움이 되었길 바랍니다. ^^ㅎㅎ
Share: