[안드로이드 개발] 플러스와 getQuantity String, 그리고%d,%.d,%1$s,%1$d 등의 사용 방법

6666 단어 Android
장면 사용:
1. 숫자에 따라 다른 문자열 표시, 특히 단복수를 자동으로 선택한다.2. 특히 서로 다른 국가의 언어가 서로 다른 단복수에 대응한다.
사용 방법:
values/strings.xml 아래의 쓰기:
  • 1.plurals
  • 2.name
  • 3.item
  • 4.quantity
  • 5.zero one few many other 옵션
  •     <plurals name="num_of_selected">
            <item quantity="one">%d selecteditem>
            <item quantity="other">%d selecteditem>
        plurals>
        <plurals name="delete_opration_confirm">
            <item quantity="one">Delete selected item?item>
            <item quantity="other">Delete selected items?item>
        plurals>

    또한:
        <plurals name="num_of_selected">
            <item quantity="one">%d sélectionnéitem>
            <item quantity="other">%d sélectionnésitem>
        plurals>
        <plurals name="delete_opration_confirm">
            <item quantity="one">"Supprimer l\'élément sélectionné ?"item>
            <item quantity="other">"Supprimer les éléments sélectionnés ?"item>
        plurals>

    에 있습니다.java의 쓰기 방법:
  • 1.getResource()
  • 2.getQuantityString
  • 3.두 번째 매개 변수와 세 번째 매개 변수를 주의하십시오:
  • int deleteCount = seletSongs.size();
    String title = getResources().getQuantityString(R.plurals.num_of_selected, deleteCount, deleteCount);

    참고:
    getQuantity String () 방법을 사용할 때 문자열에 디지털 포맷 문자열이 포함되어 있으면 deleteCount 매개 변수 2개를 전달해야 합니다.예를 들어 문자열 '%d sélectionné' 에 대해 첫 번째 deleteCount 매개 변수는 적당한 복수 문자열을 선택하고, 두 번째count 매개 변수는 자리 차지 문자%d에 삽입합니다.복수 문자열 자원에 포맷된 정보가 포함되지 않으면 get Quantity String () 에 세 번째 인자를 전달할 필요가 없습니다. (이 문자열이 포함되어 있기 때문에 추가해야 합니다.)
    %d 、%.d,%1s, d 등의 사용 방법
    1.%d는 일반 출력
    1 2 3 4 5 6 7 8 9
    11 12 13 14 15 16 17 18 19
    

    2.%2d는 다음과 같습니다. 숫자는 너비에 따라 2이고 오른쪽으로 정렬하여 출력합니다. 두 자리 왼쪽에 공백을 채우지 않으면
    1   2  3  4  5  6  7  8  9
    11 12 13 14 15 16 17 18 19
    

    3.%02d와%.2d는:%2d와 조금 다르게 왼쪽 0 보충
    01 02 03 04 05 06 07 08 09
    11 12 13 14 15 16 17 18 19
    

    다음 그림과 같이
    보태다
  • int형%0.2d는%02d 출력과 같이 두 자리로 앞에 0을 추가하지 못하고 소수점 뒤에 몇 자리의 소수 출력을 보존하는 것을 나타낸다.
  • %2d는 출력의 수가 두 자리이고 앞에 빈칸을 보충하기에 부족하며 숫자 자체가 두 자리보다 크면 무효입니다.
  • %02d는 출력 두 자리를 가리키며 앞에서 0을 보충하지 못합니다. 위에서 설명한 것과 같습니다!

  • $교체
    1. 성형
  • '나 올해 23살이야'
  • 23은 정형이다.string에 있습니다.xml에서 이렇게 쓸 수 있는데,
    <string name="old">   %1$d  string> 

    코드에 이렇게 쓰여 있습니다.
    String sAgeFormat = getResources().getString(R.string.old);  
    String sFinalAge = String.format(sAgeFormat, 23);

    %1$d 을(를) 23으로 교체합니다.
    % 1d 표현은 전체name="old"에서 첫 번째 정형의 대체를 의미합니다.만약name에 두 개의 대체해야 할 정형 내용이 있다면 두 번째는 d로 쓰이고 (번호 추가가 필요합니다) 이렇게 유추합니다.아래의string형 참조;
    2. String형
  • '나는 이레라고 한다. 나는 로스앤젤레스에서 왔다'
  • 우리의 목적은 이레와 로스앤젤레스 스트링에서 이렇게 쓸 수 있는 것을 교체하는 것이다.
    "alert">  %1$s%2$s</string> 

    코드에 이렇게 쓰여 있습니다.
    String fromStrFomat= getResources().getString(R.string.alert);     
    
    String fromStr= String.format(fromStrFomat, "  ","   ");

    두 개의string이 바뀐 것은 위 프로그램의 순서에 따라 순서대로 대응하는 것이다.

    좋은 웹페이지 즐겨찾기