티스토리 뷰

종종 알고리즘을 풀다보면 아래와 같이 char 타입을 int 타입으로 변환해야하는 순간들이 있다.

 

char 타입은 int 타입으로 강제 변환을 하게 되면 아스키 코드 값이 나오게 되기 때문에 형변환했다가 당혹스러운 순간이 있다. 이때 알아두면 좋은 방법 두가지를 소개한다.

방법1 - '0' 빼주기

 

char 타입 값에 '0' 아스키 코드 값을 뺐다. 전제조건은 char 타입 값은 48~57 사이 값이어야 한다는 점이다. 0의 아스키 코드 값이 48인점을 이용해서 아스키 코드값들끼리의 연산을 통해서 나온 아스키 코드 값을 int형으로 강제 형변환하는 것이다.

 

하지만, 구글링을 해서 더 좋은 방법이 있는지 확인해본 결과 역시나 원하는 메서드를 자바는 미리 제공하고 있었다.


방법2 - Character.getNumericValue() 사용

 

Java에서 char를 int로 변환할 수 있는 Character 클래스의 내장 함수인 Character.getNumericValue()를 사용할 수 있다.