English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Подробное объяснение форматирования строк в java и Android

%1$s %1$d Android string (форматированные строки java & Android)

1$s // String
%1$d // int

//R.string.old:
<string name="old">Мне %1$d года</string>

String sAgeFormat = getResources().getString(R.string.old);
String sFinalAge = String.format(sAgeFormat, 23);

1. Целочисленный тип, например, "Мне 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; 

 %1$d означает замену первой целой части в name="old". Если в name есть два целых числа для замены, то второе пишется как:%2$d и так далее; подробности замены в строковом типе см. ниже. 

 2. Строковый тип, например, "Мое имя Ли Си, я来自 Столица Пекин"; "Ли Си" и "Столица Пекин" необходимо заменить.  

В string.xml можно написать так, <string name="alert">Мое имя %1$s, я来自 %2$s</string>  

В программе: 

 String sAgeFormatString sAgeFormat1 = getResources().getString(R.string.alert);    
 String sFinal1 = String.format(sAgeFormat1, "Ли Си", "Столица Пекин");  

Здесь две строки необходимо заменить, следуя порядку программы.

Объяснение тега <xliff:g>:

Имя свойства id можно выбирать произвольно
Пример значения свойства
%n$ms: означает, что выводится строка, n - это номер параметра, значение m можно установить для добавления пробелов перед выводом
%n$md: представляет целое число, n represents the nth parameter, setting the value of m can place a space before the output, or can be set to 0m, placing m zeros before the output
%n$mf: представляет浮-point number, n represents the nth parameter, setting the value of m can control the number of decimal places, for example, when m=2.2, the output format is 00.00

También se puede escribir просто:

%d  (представляет целое число)

%f  (представляет浮-point number)

%s  (представляет строку)

Пример использования шагов:

1.

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

2.

 <string name="test_xliff">Китайская девочка по имени Хун Цзинь в этом году <xliff:g id="xxx">%d</xliff:g> лет, она учится в <xliff:g id="yyy">%s</xliff:g> классе!</string>

3.

String test = String.format(getResources().getString(R.string.test_xliff), 7, "小学二");

Вывод:

Китайская девочка по имени Хун Цзинь в этом году 7 лет, она учится во втором классе начальной школы!

Вот собранные материалы о выводе строки Java и Android, в будущем продолжим добавлять соответствующие материалы, спасибо всем за поддержку нашего сайта!

Заявление: содержание этой статьи взято из Интернета, авторские права принадлежат соответствующему автору, контент был предложен и загружен пользователями Интернета, этот сайт не имеет права собственности, не был отредактирован вручную, и не несет ответственности за соответствующие юридические последствия. Если вы обнаружите содержимое,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (при отправке письма, пожалуйста, замените # на @) для сообщения о нарушении,并提供相关证据. Если будет подтверждено, сайт немедленно удаляет涉嫌侵权的内容.

Основной учебник
Рекомендуем также