我想用2位小数格式化数字。我不知道为什么我的代码收到错误。
这是我的代码。
的strings.xml :
<resources>
<string name="progress">%1$d / %2$d (%3.2f%%)</string>
</resources>
MainActivity.java:
int progressCount;
int totalCount = 3000;
double percentage;
for (int x = 0; x < totalCount; x++) {
progressCount = x;
percentage = ((((double) progressCount) / ((double) totalCount)) * 100);
Log.i("MainActivity", "Percentage: " + String.format(getString(R.string.progress), progressCount, totalCount, percentage));
}
遇到错误:
引起:java.util.IllegalFormatConversionException:%f无法格式化java.lang.Integer参数
我想要这样的输出。 1/100(0.01%)
答案 0 :(得分:2)
替换
<string name="progress">%1$d / %2$d (%3.2f%%)</string>
带
<string name="progress">%1$d / %2$d (%3$.2f)</string>