Я использую
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);
Можете ли вы сказать мне, почему?
Я не могу воспроизвести это. Можете ли вы указать точный код (тот, который вы показываете, не использует возвращаемое значение) и языковой стандарт? –
my BigDecimal val - 932. Мой язык - французский. – gospodin
Ну, я просто попробовал 'Number amount = new BigDecimal (832); System.out.println (String.format (Locale.FRENCH,"% 1 $ ,. 2f ", amount));'. Используете ли вы возврат 'format'? –