在EditText中舍入小数

时间:2012-09-06 04:46:32

标签: android eclipse math decimal rounding

我正在试图弄清楚如何将总数四舍五入到小数点后两位。总计是EditText。我不能把它缩小到只有两位小数。怎么了?谢谢你的帮助。

public void macro() {
    caloriesTotal = Double.parseDouble(calories.getText().toString());
    total = (caloriesTotal * .20)/9;
    DecimalFormat round = new DecimalFormat ("###.##");
    round.format(total);
    carbsTotal = (caloriesTotal * .40)/4;
    proteinTotal = (caloriesTotal * .40)/4;       
    fat.setText(Double.toString(total));
    carbs.setText(Double.toString(carbsTotal));
    protein.setText(Double.toString(proteinTotal));
}

3 个答案:

答案 0 :(得分:8)

试试这个。

fat.setText(Double.valueOf(round.format(total)));

当您将任意数字转换为N个十进制数字时,您需要将该值存储在任何变量中,或直接显示如上所述。

答案 1 :(得分:3)

简单地format()应该为你做,

DecimalFormat round = new DecimalFormat ("###.##");
String formatted = round.format(double_value);
fat.setText(formatted);

答案 2 :(得分:0)

你可以使用String.format("%.2f", d),你的双倍将被舍入