개요
자바에서 숫자로 주어진 String 문자열 또는 char 문자 한 개를 어떻게 int 정수형으로 변환하는지 알아보겠습니다. 또한 Character 클래스의 getNumericValue 메서드와 digit 메서드를 사용할 때 주의점을 알아보겠습니다.
String 문자열을 int 정수로 변환하기

- Integer 클래스의 parseInt(String s) 메서드를 사용합니다.
- Integer 클래스의 valueOf(String s) 메서드를 사용합니다.
char 문자를 int 정수로 변환하기

- char 문자에서 '0' 을 뺍니다.
- Character 클래스의 getNumericValue(char ch) 메서드를 사용합니다.
Character getNumericValue vs. digit

getNumericValue 메서드는 자칫하면 음수 값을 반환하기 때문에 주의해서 사용해야 합니다. getNumericValue는 다음의 기준으로 문자를 숫자로 변환합니다.
- 문자 '0' ~ '9' 는 숫자 0 ~ 9를 반환합니다.
- 문자 'a' ~ 'z' / 'A' ~ 'Z' 는 대소문자 구분 없이 숫자 10 ~ 35를 반환합니다.
- 위 범위에 해당하지 않는 문자는 -1을 반환합니다.
- 문자가 숫자를 나타내지만 양의 정수로 표현할 수 없는 경우 -2를 반환합니다.

digit 메서드는 문자가 주어진 radix(진수) 범위 내 숫자라면 해당 숫자를 반환합니다. 그렇지 않다면 -1을 반환합니다.
- char3의 값인 3은 이진수가 표현할 수 있는 숫자의 범위 [0, 1]를 벗어나므로 -1 입니다.
- char4의 값인 F는 16진수가 표현할 수 있는 숫자의 범위 [0, 15] 내에 속하므로 F의 값인 15를 반환합니다.
Reference
'개발 > Java' 카테고리의 다른 글
[Java] 자바 배열 원소를 이어 붙여서 출력하는 4가지 방법 (0) | 2024.05.31 |
---|---|
[Java] Map을 순회하는 3가지 방법 (0) | 2024.05.28 |
[Java] 자바 Optional 올바른 사용법 (0) | 2024.05.23 |
[Java] 자바 객체 배열, 리스트 정렬하기 - Comparable vs. Comparator (0) | 2024.05.19 |
정적 팩토리 메서드 Static Factory Method (0) | 2024.04.11 |