039.1 포매팅
기본적으로 수는 RoundingMode.HALF_EVEN으로 포매팅된다. 하지만 NumberFormat.setRoundingMode()를 사용해 반올림 모드를 명시적으로 설정할 수도 있다.
다음과 같이 이러한 정보를 NumberFormatters라는 유틸리티 클래스로 모아 넣는다.
public static String forLocale(Locale locale, double number) {
return format(locale, Style.SHORT, null, number);
}
public static String forLocaleStyle(
Locale locale, Style style, double number) {
return format(locale, style, null, number);
}
public static String forLocaleStyleRound(
Locale locale, Style style, RoundingMode mode, double number) {
return format(locale, style, mode, number);
}
private static String format(
Locale locale, Style style, RoundingMode mode, double number) {
if (locale == null || style == null) {
return String.valueOf(number); // 또는 기본 포맷을 사용한다
}
NumberFormat nf = NumberFormat.getCompactNumberInstance(locale, style);
if (mode != null) {
nf.setRoundingMode(mode);
}
return nf.format(number);
}