我的健身应用程序陷入了微妙的问题。 我找到了很多方法,如何将我的距离(双)输出转换为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;
答案 0 :(得分:2)
您可以使用DecimalFormat
将double
格式化为String
,例如:
DecimalFormat format = new DecimalFormat("#.##");
double d = 3232.432432;
System.out.println(format.format(d));