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