039 컴팩트 수 포매팅
JDK 12부터 컴팩트 수(compact number)를 포매팅하는 클래스가 새로 추가됐다. java.text.CompactNumberFormat이라는 클래스다. 이 클래스의 주된 목적은 로캘(locale)과 압축(compaction)을 지원하도록 기존 자바 수 포매팅 API를 확장하는 것이다.
수(number)는 간결한 스타일(가령 1000을 1K로) 혹은 장황한 스타일(가령 1000을 1 thousand로)로 포매팅할 수 있다. 두 스타일은 Style 열거형(enum)에서 각각 SHORT와 LONG으로 분류된다.
CompactNumberFormat은 CompactNumberFormat 생성자 외에도 NumberFormat 클래스에 추가된 다음 두 개의 static 메서드로 생성할 수 있다.
• 첫 번째 메서드는 NumberFormat.Style.SHORT를 사용하는 기본 로캘의 컴팩트 수 포맷이다.
public static NumberFormat getCompactNumberInstance()
• 두 번째 메서드는 NumberFormat.Style과 로캘을 명시하는 컴팩트 수 포맷이다.
public static NumberFormat getCompactNumberInstance(
Locale locale, NumberFormat.Style formatStyle)
포매팅과 파싱에 대해 자세히 알아보자.