当我使用BigDecimal时,为什么它会继续舍入

0 java bigdecimal

因此,我试图计算我的平均目标,通过划分我停止了多少次射击来计算.如何阻止它平均我的平均值

counter =目标被阻止goalCounter =进球得分

avg.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        BigDecimal avgCalc = new BigDecimal(counter/goalCounter);
        tvDisplayAvg.setText("Goal Avg: " + avgCalc);
    }
});
Run Code Online (Sandbox Code Playgroud)

所以我得到它除以得到小数,但有没有办法设置一个限制只分为千分之一的位置?

Dim*_*ima 5

counter/goalCounter 如果你使用大小数,你的舍入可能来自它.

avg.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        BigDecimal c = new BigDecimal(counter);
        BigDecimal g = new BigDecimal(goalCounter);
        BigDecimal answer=c.divide(g);

        tvDisplayAvg.setText("Goal Avg: " + amswer.toString());
    }
});
Run Code Online (Sandbox Code Playgroud)