Как отформатировать отрицательные суммы с помощью 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 в форматтер, который позволяет указывать разные форматеры для отрицательных, нулевых и положительных чисел. Это позволит вам указать свой собственный формат для каждого случая.

Другие вопросы по тегам