0
我想格式化数字,并保留2位小数。我不知道为什么我的代码收到错误。Android格式使用XML的十进制数
这是我的代码。
的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.IllegalFormatConve rsionException:%f不能格式化java.lang.Integer参数
我想要这样的输出。 1/100(0.01%)
我认为它必须是(%3 $ .2f %%),而不是(%3.2F %% )在你的资源字符串中。请参阅此处:https://stackoverflow.com/a/32755921/1803222。 –
谢谢。但为什么没有** $ **符号就无法工作? – Jerrol
据我所知,%3 $部分可以帮助系统识别第三个传递参数将在那里使用。 –