Language/Java

[Java] 자바 문자를 숫자로 바꾸기 (char to int)

올콩 2024. 1. 12. 17:08
반응형

처음에는 문자(char)를 숫자(int)로 바꿀 때 문자열(String)과 차이가 없는 줄 알고 Integer.parseInt()를 썼더니 아래와 같은 에러가 떴다.

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The method parseInt(String) in the type Integer is not applicable for the arguments (char)

 

String을 int형으로 바꿀 때는 Integer.parseInt()를 쓰지만, char를 int형으로 바꿀 때는 아래의 두 가지 방법을 사용한다.

 

Solution 1

char c = '1';
int n = c - '0'; // 1

'0'의 아스키코드가 48인 점을 이용하여 '1'에서 '0'을 빼주면 1 값을 구할 수 있다.

 

Solution 2

char c = '1';
int n = Character.getNumericValue(c); // 1

숫자 형태의 char형을 int형으로 변환해 주는 메서드이다.

c에 기호를 넣으면 -1이 출력된다.

 

1번이 외우기는 더 쉬운데 찾아보니 2번을 추천한다고 한다..!

반응형