我正在试图弄清楚如何将总数四舍五入到小数点后两位。总计是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));
}
答案 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)
,你的双倍将被舍入