0

将值舍入以在 textView 中显示时遇到很多麻烦。

我基本上想把它四舍五入到小数点后两位,但目前我得到了很多不同的数字。

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

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

2 回答 2

1

试试下面的代码:

double roundTwoDecimals(double d) {
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}
于 2012-12-11T23:00:14.377 回答
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
于 2012-12-11T23:20:24.333 回答