将 MonetaryAmount 转换为长的次要单位 (Javamoney)
Convert MonetaryAmount to long of minor units (Javamoney)
使用 JSR-354 Java Money API(在本例中为 Moneta),我可以轻松地从 long
个小单位创建一个 MonetaryAmount
对象(在这种情况下便士):
MonetaryAmount amount = Money.ofMinor(Monetary.getCurrency("GBP"), 1234); //£12.34
...但是如何以相同的方式查询此 MonetaryAmount
back 的次要单位?我能做到:
amount.getNumber().longValue();
...但这只给出了 主要 单位,完全截断了次要单位。
long minorUnits = monetaryAmount.query(MonetaryQueries.convertMinorPart()); //1234
如果需要,MonetaryQueries
上的其他值也可用于 提取 次要部分(这将 return 34
以上情况。)
使用 JSR-354 Java Money API(在本例中为 Moneta),我可以轻松地从 long
个小单位创建一个 MonetaryAmount
对象(在这种情况下便士):
MonetaryAmount amount = Money.ofMinor(Monetary.getCurrency("GBP"), 1234); //£12.34
...但是如何以相同的方式查询此 MonetaryAmount
back 的次要单位?我能做到:
amount.getNumber().longValue();
...但这只给出了 主要 单位,完全截断了次要单位。
long minorUnits = monetaryAmount.query(MonetaryQueries.convertMinorPart()); //1234
如果需要,MonetaryQueries
上的其他值也可用于 提取 次要部分(这将 return 34
以上情况。)