Конвертировать MonetaryAmount в длинные младшие единицы (Javamoney) - PullRequest
0 голосов
/ 15 октября 2019

Используя JSR-354 Java Money API (в данном случае Moneta), я легко могу создать объект MonetaryAmount из long второстепенных единиц (в данном случае пенсов):

MonetaryAmount amount = Money.ofMinor(Monetary.getCurrency("GBP"), 1234); //£12.34

... но как мне запросить этот MonetaryAmount back для его второстепенных единиц таким же образом? Я могу сделать:

amount.getNumber().longValue();

... но это дает только основные единицы, полностью обрезая второстепенные единицы.

1 Ответ

0 голосов
/ 15 октября 2019
long minorUnits = monetaryAmount.query(MonetaryQueries.convertMinorPart()); //1234

Другие значения в MonetaryQueries также могут использоваться для извлечения только незначительной части, если требуется (которая вернет 34 в приведенном выше случае.)

...