문자열 리소스 파일의 형식 문
다음과 같이 일반적인 strings.xml 리소스 파일에 문자열이 정의되어 있습니다.
<string name="hello_world"> HELLO</string>
아래와 같은 형식 문자열을 정의 할 수 있습니까?
result_str = String.format("Amount: %.2f for %d days ", var1, var2);
strings.xml 리소스 파일에서
특수 문자를 이스케이프하려고했지만 작동하지 않습니다.
formatted="false"
XML에서 사용할 필요는 없습니다 . 짧은 버전 (예 : 또는 ) 대신 정규화 된 문자열 형식 표시 자 %[POSITION]$[TYPE]
(여기서 [POSITION]
특성 위치 [TYPE]
는 변수 유형 임) 를 사용해야 합니다.%s
%d
안드로이드 문서 에서 인용 : 문자열 형식화 및 스타일링 :
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
이 예제에서 형식 문자열에는 두 개의 인수
%1$s
가 있습니다. 문자열과%2$d
10 진수입니다. 다음과 같이 애플리케이션의 인수로 문자열을 형식화 할 수 있습니다.Resources res = getResources(); String text = res.getString(R.string.welcome_messages, username, mailCount);
formatted="false"
문자열 리소스에 추가해야 합니다
여기에 예가 있습니다
당신의 strings.xml
:
<string name="all" formatted="false">Amount: %.2f%n for %d days</string>
귀하의 코드에서 :
yourTextView.setText(String.format(getString(R.string.all), 3.12, 2));
내부 파일은 strings.xml
다음과 같은 문자열 리소스를 정의합니다.
<string name="string_to_format">Amount: %1$f for %2$d days%3$s</string>
코드 내에서 (Context에서 상속한다고 가정) 간단히 다음을 수행하십시오.
String formattedString = getString(R.string.string_to_format, floatVar, decimalVar, stringVar);
LocalPCGuy 또는 Giovanny Farto M 의 답변과 비교 하여 String.format 메서드는 필요하지 않습니다.
안드로이드 문서 에서 인용 :
을 사용하여 문자열을 형식화해야하는 경우 문자열
String.format(String, Object...)
인수에 형식 인수를 넣어서 수행 할 수 있습니다. 예를 들어 다음 리소스를 사용하십시오.<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
이 예제에서 형식 문자열에는 두 개의 인수
%1$s
가 있습니다. 문자열과%2$d
10 진수입니다. 다음과 같이 애플리케이션의 인수로 문자열을 형식화 할 수 있습니다.Resources res = getResources(); String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
참고 URL : https://stackoverflow.com/questions/12627457/format-statement-in-a-string-resource-file
'IT박스' 카테고리의 다른 글
“git branch -r”에 원격 브랜치가 나타나지 않음 (0) | 2020.07.09 |
---|---|
TextReader 대신 문자열에서 역 직렬화 (0) | 2020.07.09 |
Angular 5의 URL에서 쿼리 매개 변수를 얻는 방법은 무엇입니까? (0) | 2020.07.09 |
튜플 목록에서 요소 찾기 (0) | 2020.07.09 |
숫자를 제외한 모든 것을 제거하는 PHP 코드 (0) | 2020.07.09 |