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 대신 (%의 3.2f의 (0.01 %)
교체 %%)를 자원 문자열에 추가하십시오. 여기를 참조하십시오 : https://stackoverflow.com/a/32755921/1803222. –
와우 감사합니다. 하지만 ** ** ** 기호가 없으면 왜 작동하지 않습니까? – Jerrol
필자가 이해하는 한, % 3 $ 부분은 시스템에서 세 번째로 전달 된 매개 변수가 사용됨을 확인하는 데 도움이됩니다. –