将double转换为包含2位小数的字符串

时间:2016-03-31 20:29:32

标签: java android

我的健身应用程序陷入了微妙的问题。 我找到了很多方法,如何将我的距离(双)输出转换为2位小数的字符串。问题就出现了 - 当我想用格式"%d"将它打印到textview时(因为它与整数相乘),应用程序运行到IllegalFormatConversionException 卡路里工作得很好

有谁能告诉我我做错了什么?

private int numSteps;
private double distance;
private double total_energy;
private double calories;
private int weight=80;

//Steps output
            count_steps.setText(String.valueOf(numSteps));
            numSteps++;

            //Distance output
            count_distance.setText(String.format("%d", distance + "m"));
            distance= numSteps*0.8;

            //Calories output
            count_calories.setText(String.format("%.2f", calories));
            total_energy=(0.985*SystemClock.elapsedRealtime()*weight);
            calories=total_energy/4.2;

1 个答案:

答案 0 :(得分:2)

您可以使用DecimalFormatdouble格式化为String,例如:

DecimalFormat format = new DecimalFormat("#.##");
double d = 3232.432432;
System.out.println(format.format(d));