如何在MonetaryAmount(org.javamoney.moneta)中四舍五入数字

时间:2019-07-07 16:04:42

标签: java

我正在使用 org.javamoney.moneta 库执行某种货币换算。 转换后,我在逗号后得到了一个很长的数字,类似于1234.0000000000000。我只想在逗号后面加上两位数字。谁能给我一些想法如何存档?

这是我的代码:

    MonetaryAmount sourceAmount= Monetary.getDefaultAmountFactory().setCurrency("USD")
            .setNumber(1234.0).create();
    CurrencyConversion targetConversion = MonetaryConversions.getConversion("EUR");
    MonetaryAmount targetAmount = source.with(targetConversion);
    System.out.println(targetAmout.toString());

1 个答案:

答案 0 :(得分:0)

在GitHub上的“ JavaMoney Moneta用户指南”的介绍中,有对javax.money.format包的引用。当您为该软件包签出javadox时,您会发现列出了MonetaryAmountFormat接口。

这是自定义格式对象的示例:

MonetaryAmountFormat f = MonetaryFormats.getInstance(loc);

f.setStyle(f.getStyle().toBuilder().setPattern("###.##;(###.##)").build());

有关更多信息,请访问:

http://javadox.com/javax.money/money-api/1.0/javax/money/format/package-summary.html

http://javadox.com/javax.money/money-api/1.0/javax/money/format/MonetaryAmountFormat.html#format-javax.money.MonetaryAmount-