Java
[Java] 자바 String 문자열, char 문자를 int 정수로 변환하기
선우.
2024. 5. 21. 15:28
개요
자바에서 숫자로 주어진 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를 반환합니다.