Java 如何从双倍数字设置舍入值

Java 如何从双倍数字设置舍入值,java,android,decimal,rounding,Java,Android,Decimal,Rounding,我试图根据用户输入计算平均值。现在我已经有了基本的工作。但当我输入1\3等的数字时,我会得到整个系列的数字,当这种情况发生时,我希望它四舍五入到1。就像5.0这样的“正常”数字一样 欢迎任何解释或提示 final TextView averageView = findViewById(R.id.averageView); final String averageText = getString(R.string.average); final Button calculateButton =

我试图根据用户输入计算平均值。现在我已经有了基本的工作。但当我输入1\3等的数字时,我会得到整个系列的数字,当这种情况发生时,我希望它四舍五入到1。就像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类

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

您可以使用
String.format()
对数字进行四舍五入

String result = String.format("%.2f", your_double_variable);
您还可以使用DecimalFormat类

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

数学实用类的使用圆方法

Math.round(average,1);

数学实用类的使用圆方法

Math.round(average,1);

如果要对值进行四舍五入,则可以使用函数
Math.round(value)
。如果要对值进行四舍五入,则可以使用函数
Math.round(value)