【发布时间】:2014-02-19 17:05:53
【问题描述】:
我正在修改 Android 中的 BigDecimal 和货币格式,想知道是否可以使用 BigDecimal 执行以下操作:
我想要什么:
64.99 --> 65.00 (Rounded Up)
64.99 --> 60.00 (Rounded Down)
65.01 --> 70.00 (Rounded Up)
65.01 --> 65.00 (Rounded Down)
目前,使用下面的代码,我只能四舍五入为零。例如:
我得到了什么:
64.99 --> 70.00 (Rounded Up)
64.99 --> 60.00 (Rounded Down)
65.01 --> 70.00 (Rounded Up)
65.01 --> 60.00 (Rounded Down)
有没有办法使用BigDecimal 来实现我的愿望?
我的代码:
private static void printRoundedValues() {
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
BigDecimal valueUp = new BigDecimal(64.50, new MathContext(1,RoundingMode.UP));
BigDecimal valueDown = new BigDecimal(64.50, new MathContext(1,RoundingMode.DOWN));
System.out.println("Value Up: " + currencyFormat.format(valueUp));
System.out.println("Value Down: " + currencyFormat.format(valueDown));
}
【问题讨论】:
标签: android rounding bigdecimal