본문 바로가기
JAVA/JAVA

[Java] NumberFormat클래스 정리

by 개미가되고싶은사람 2024. 7. 12.

목차

    NumberFormat 클래스란?

     

    NumberFormat클래스는 숫자를 형식화하는 Java 클래스입니다. 이 클래스는 특정 국가와 지역에서 사용되는 통화, 숫자, 백분율 등을 형식화할 수 있는 기능을 제공합니다.

     

    주요 기능 및 역할

    • 숫자 형식화: 숫자를 특정 형식에 맞춰 표시할 수 있습니다. 예를 들어, 천 단위 구분 기호(쉼표), 소수점 자릿수, 라운딩 등을 설정할 수 있습니다.
    • 통화 형식화: 특정 국가의 통화 단위로 숫자를 표시할 수 있습니다. 이때 환율이나 지역 설정에 따라 통화 기호가 자동으로 설정됩니다.
    • 백분율 형식화: 숫자를 백분율로 표시할 수 있습니다. 예를 들어, 0.75를 75%로 표시할 수 있습니다.
      이 클래스는 지역화(Locale) 정보를 기반으로 작동하며, 특정 언어와 지역에 맞게 숫자를 형식화합니다. 이를 통해 사용자는 언어와 문화에 맞는 형식으로 숫자를 표시할 수 있습니다.

     

    주요 함수

    1. getInstance()

     

    • 기본 숫자 형식화 인스턴스를 반환합니다. 이 메서드는 로케일에 따라 숫자를 형식화하는 기본 설정을 제공합니다.

    2. getNumberInstance()

    • 일반 숫자 형식화 인스턴스를 반환합니다. 숫자를 로케일에 맞게 형식화할 수 있습니다.

    3. getCurrencyInstance()

    • 통화 형식화 인스턴스를 반환합니다. 금액을 로케일에 맞는 통화 형식으로 변환합니다.

    4. getPercentInstance()

    • 백분율 형식화 인스턴스를 반환합니다. 숫자를 백분율로 형식화합니다.

    5. format()

    • 숫자를 지정된 형식으로 변환합니다. 숫자, 통화, 백분율 등을 문자열로 변환할 때 사용됩니다.

    7. parse()

    • 문자열을 숫자로 변환합니다. 형식화된 문자열을 원래의 숫자 형태로 반환할 때 사용됩니다.

     

    사용 예제

        @Test
        void numberFormat(){
            // 1. 일반 숫자 형식화 예제
            NumberFormat numberFormat = NumberFormat.getNumberInstance();
            Integer number = 1234567;
            String formattedNumber = numberFormat.format(number);
            System.out.println("일반 숫자 형식화: " + formattedNumber);
    
            // 2. 통화 단위  형식화 예제
            NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
            String formattedCurrency = currencyFormat.format(number);
            System.out.println("통화 형식화 : " + formattedCurrency);
    
            // 3. 백분율 형식화 예제
            NumberFormat percentFormat = NumberFormat.getPercentInstance();
            double percentage = 0.75;
            String formattedPercentage = percentFormat.format(percentage);
            System.out.println("백분율 형식화: " + formattedPercentage);
    
            // 4. 로케일을 사용한 숫자 형식화 예제 (한국 로케일)
            Locale koreanLocale = new Locale("ko", "KR");
            NumberFormat numberFormatKR = NumberFormat.getNumberInstance(koreanLocale);
            String formattedNumberKR = numberFormatKR.format(number);
            System.out.println("일반 숫자 형식화 (한국 로케일): " + formattedNumberKR);
    
    
        }

    결과