舍入货币的双倍价值

时间:2012-12-11 22:56:34

标签: java android double bigdecimal

在将值显示在textView中时会遇到很多麻烦。

我基本上想将它四舍五入到小数点后两位,但此刻我正在寻找不同数字的长路。

我正在玩BigDecimal但到目前为止没有运气......

public void calc() {
        BigDecimal bd = new BigDecimal(subTotal);
        bd.setScale(2, BigDecimal.ROUND_DOWN);
        total.setText(String.valueOf(bd));
    }

2 个答案:

答案 0 :(得分:1)

请尝试以下代码:

double roundTwoDecimals(double d) {
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}

答案 1 :(得分:0)

以下为我工作

BigDecimal bd = new BigDecimal(subTotal);
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
total.setText(String.valueOf(bd));
// Input: 9.888888 -> Output: 9.89
// Input: 9f -> Output: 9.00