어제 오늘 내일

[Java Character] getNumericValue() - 문자를 숫자로 변환하기 본문

IT/Java

[Java Character] getNumericValue() - 문자를 숫자로 변환하기

hi.anna 2025. 10. 2. 00:31

문자열을 다룰 때, 문자로 되어 있는 숫자를 실제 정수 값으로 변환해야 하는 경우가 많습니다. 예를 들어 '7'이라는 문자를 정수 7로 바꾸거나, 'A'를 숫자 값으로 인식해야 할 때 사용할 수 있습니다. Java에서는 Character 클래스의 getNumericValue() 메소드를 통해 이러한 변환을 간단히 처리할 수 있습니다.

 

1. getNumericValue() 메소드 개요

  • 메소드 시그니처
    public static int getNumericValue(char ch)
  • 전달된 문자를 정수 값(int)으로 변환해 반환합니다.
  • '0'~'9' 범위의 숫자 문자는 0~9로 변환됩니다.
  • 'A'~'Z', 'a'~'z'는 10~35 사이의 숫자로 변환됩니다.
  • 변환할 수 없는 문자인 경우 -1을 반환합니다.

 

2. 기본 사용 예제

public class CharacterGetNumericValueExample {
    public static void main(String[] args) {
        char c1 = '7';
        char c2 = 'A';
        char c3 = 'z';
        char c4 = '#';

        System.out.println(Character.getNumericValue(c1)); // 7
        System.out.println(Character.getNumericValue(c2)); // 10
        System.out.println(Character.getNumericValue(c3)); // 35
        System.out.println(Character.getNumericValue(c4)); // -1
    }
}

'7'은 정수 7, 'A'는 10, 'z'는 35로 변환되며, 변환 불가능한 '#'-1을 반환합니다.

 

3. 문자열 내 숫자 추출 예제

public class CharacterGetNumericValueExample {
    public static void main(String[] args) {
        String input = "A1B2C3";

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            int num = Character.getNumericValue(ch);
            if (num != -1) {
                System.out.println(ch + " -> " + num);
            }
        }
    }
}

 

출력 결과:

A -> 10
1 -> 1
B -> 11
2 -> 2
C -> 12
3 -> 3

문자열에서 숫자 또는 알파벳을 정수 값으로 변환해 활용할 수 있습니다.

 

4. 활용 사례

  • 문자 형태의 숫자를 정수로 변환하여 계산에 활용
  • 16진수, 36진수 등 진법 변환 구현
  • 문자열 파싱 시 문자와 숫자 값을 매핑할 때

 

정리

Character.getNumericValue() 메소드는 문자를 숫자로 변환할 수 있는 강력한 기능을 제공합니다. 특히 알파벳까지 숫자로 변환할 수 있어 진법 변환이나 데이터 처리에서 유용하게 활용됩니다.

 

 

반응형
Comments