Как отформатировать отрицательные суммы с помощью Joda Money?
Я хотел бы отформатировать отрицательные суммы со знаком минус перед символом валюты, т.е. е:
Заданное входное значение: -123.45
Я хочу, чтобы вывод был: -$123.45
,
Есть ли способ сделать это с помощью Joda Money?
Вот что я попробовал:
Money money = Money.of(CurrencyUnit.USD, -123.45);
MoneyFormatter formatter = new MoneyFormatterBuilder()
.appendCurrencySymbolLocalized()
.appendAmountLocalized()
.toFormatter(Locale.US);
String formatted = formatter.print(money);
Но это дает мне: $-123.45
1 ответ
Решение
Добавлена Joda Money 0.11 (выпущена после того, как был задан ваш вопрос) appendSigned
в форматтер, который позволяет указывать разные форматеры для отрицательных, нулевых и положительных чисел. Это позволит вам указать свой собственный формат для каждого случая.