私は使っている
public static String displayNumberAmount(Number amount, Locale locale) {
String.format(locale, "%1$,.2f", amount);
}
私の数字をロケールと2桁の小数点以下にフォーマットします。
番号が 1032 の場合、1 032,00 に正しくフォーマットされますが、1000 より小さい番号、たとえば 890 の場合、890 としてフォーマットされます (常に 2 つの小数点が必要です)。
オブジェクトでは、これらの値は BigDecimals として格納されます。
BigDecimal val = object.getAmount();
String formattedVal = displayNumberAmount(val, myLocale);
なぜか教えてくれますか?