Skip to main content

int -> String, char 변환


1. int → String 변환

​아래와 같은 세 가지 방법이 있다.

✅ 방법 1. String.valueOf(int)

가장 범용적으로 쓰이고, null 처리가 가능하다.

int num = 3;
String str = String.valueOf(num);
System.out.println(str);  // 출력: "3"


✅ 방법 2. Integer.toString(int)

오직 int → String 변환에만 사용된다.

int num = 3;
String str = Integer.toString(num);
System.out.println(str);  // 출력: "3"


✅ 방법 3. 문자열 더하기 (+ 연산자)

가장 짧고 직관적이지만 권장 방식은 아니다.

int num = 3;
String str = num + "";  // 문자열과 더하면 문자열로 변환됨
System.out.println(str);  // 출력: "3"


2. int → char 변환

✅ 방법 1. '0'을 더한다.
int num = 3;
char ch = (char) (num + '0');  // '0'의 아스키 값은 48
System.out.println(ch);  // 출력: '3'

📌 왜 이렇게 될까?

  • '0'은 아스키 코드 48이다
  • 3 + 48 = 51,
  • 아스키 51은 문자 '3' 이기 때문에 이렇게 출력된다.


✅ 방법 2. Character.forDigit()
int num = 3;
char ch = Character.forDigit(num, 10);
System.out.println(ch);  // 출력: '3'

🔎 Character.forDigit(value, radix)는 정수 값을 해당 진법(radix)의 문자로 바꿔​준다.


❌ int → char 변환시 주의사항

아래과 같이 단순 캐스팅은 잘못된 것이다.

int num = 3;
char ch = (char) num;  // ❌ 결과: 이상한 제어문자 (아스키 3 → ETX)