0

textViewに表示する値を丸めるのに多くの問題があります。

基本的に小数点以下第2位に四捨五入したいのですが、現時点では異なる数値の長い軌跡が表示されています。

私は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 に答える