如何从双数设置舍入值

How to set a rounded value from double number

我正在尝试根据用户输入计算平均值。现在我已经掌握了基础知识。但是当我输入 1 等数字时,我得到了整个系列的数字,当发生这种情况时,我希望它四舍五入为 1 个数字。就像 'normal' 数字一样 5.0

欢迎任何解释或提示等!

final TextView averageView = findViewById(R.id.averageView); 
final String averageText = getString(R.string.average); 
final Button calculateButton = findViewById(R.id.calculateAverageButton); 

calaculateButton.setOnClickListener(new View.onClickListener() { 
    @SupressLint("SetTextI18n")                                                     
    public void onClick(View v) { 

        double grade[]  = {Double.parseDouble(((EditText) findViewById(R.id.grade1)).getText().toString()); 
        double weight[] = {Double.parseDouble(((EditText) findViewById(R.id.weight1)).getText().toString()); 
        double weightTotal = weight[0]; double sum = grade[0] * weight[0] 
        double average = sum / weightTotal 
        averageView.setText(averageText + " " + Double.toString(average));

可以用String.format()四舍五入。

String result = String.format("%.2f", your_double_variable);

您也可以使用 DecimalFormat class。

double avg;
DecimalFormat df = new DecimalFormat("#.##");      
ans = Double.valueOf(df.format(avg));

使用数学实用程序的舍入方法class

Math.round(average,1);