≣ 목차
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);
}
결과
'JAVA > JAVA' 카테고리의 다른 글
[JAVA]체크 예외와 언체크 예외 (1) | 2024.08.12 |
---|---|
[JAVA+DB] DataSource 진짜 간단 정리 (0) | 2024.08.05 |
사용자 입/출력과 버퍼(butter) - nextInt() 사용 시 주의 점 (0) | 2024.03.11 |
String / StringBuffer / StringBuilder 차이점 (0) | 2024.03.10 |
추상 클래스와 인터페이스 정리 (0) | 2024.03.10 |