Java & Spring

java int to char 형변환

닥치고개돌 2021. 8. 15. 23:44
728x90

알고리즘 풀며 정리하는 형변환

 

문자열에서 문자의 비교시 int 를 스트링 또는 char로 변환할 경우가 있다.

 

 Java에서int를char로 변환하는  메소드는(char),Character.forDigit()및toString() 가 있다.

 

1. (char)

타입 캐스팅을 사용하여 ASCII 값을 가져 와서int의char를 얻는다.

int value_int =1;

//이렇게하면 안됨.
char value_char1 = (char)(value_int);

//이렇게 해줘야함.
char value_char2 = (char)(value_int +'0');

위에 value_char1 처럼 하면 ascii 값 1 (인쇄 할 수없는 머리글 시작 문자)로 문자를 인쇄하게되어 잘못된 값이 나온다.

숫자 (0-9)를 변환하려면 여기에 48('0')을 더하고 캐스트하거나 밑에 나올 Character.forDigit(a, 10); 이 방법을 쓰는게 좋다

 

2. Character.forDigit() 방법 

기수 또는 숫자 값이 유효하지 않으면 null을 반환

//radix 10 is for decimal number, for hexa use radix 16 
int radix = 10; //10진수
int value_int = 6;
char value_char = Character.forDigit(value_int , radix);

 

3. toString()방법

int value_int = 1;
char value_char = Integer.toString(value_int).charAt(0);

int -> String -> char로 변환하는 방식

굳이?

2번 방법이 가장 근본있어보임.

728x90

'Java & Spring' 카테고리의 다른 글

java 서블릿 개념정리  (0) 2021.08.16
java 웹 서버 및 WAS 개념정리, 차이점  (0) 2021.08.16
java Collection 프레임워크 정리  (0) 2021.08.11
java array관련 함수  (0) 2021.08.09
java string관련 함수정리  (0) 2021.08.08