简体   繁体   English

将 MonetaryAmount 转换为长期的次要单位 (Javamoney)

[英]Convert MonetaryAmount to long of minor units (Javamoney)

Using the JSR-354 Java Money API (Moneta in this case), I can easily create a MonetaryAmount object from a long of minor units (pence in this case):使用 JSR-354 Java Money API(在这种情况下为 Moneta),我可以轻松地从一个long的次要单位创建MonetaryAmount object:

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

...but how do I query this MonetaryAmount back for its minor units in the same way? ...但是我如何以同样的方式查询这个MonetaryAmount次要单位? I can do:我可以:

amount.getNumber().longValue();

...but that only gives the major units, truncating the minor units entirely. ...但这仅给出主要单位,完全截断次要单位。

long minorUnits = monetaryAmount.query(MonetaryQueries.convertMinorPart()); //1234

Other values on MonetaryQueries can also be used to extract just the minor part if required (which would return 34 in the above case.)如果需要, MonetaryQueries上的其他值也可用于仅提取次要部分(在上述情况下将返回34

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM