0
小数点以下2桁の数値を書式化したいと思います。なぜ私のコードがエラーを受け取っているのかわかりません。AndroidフォーマットXMLを使用した10進数
これは私のコードです。
の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代わりに(%の3.2fの(0.01%)
を交換%% )をリソース文字列に追加します。 https://stackoverflow.com/a/32755921/1803222を参照してください。 –
うわーありがとう。なぜ** $ **の記号なしで動かないのですか? – Jerrol
私が理解する限り、%3 $ partは、システムが3番目に渡されたパラメータがそこで使用されることを識別するのに役立ちます。 –