Строковый ресурс и десятичный формат - PullRequest
0 голосов
/ 29 июня 2018

Я знаю, что могу отформатировать число в строку с десятичными разделителями, например:

NumberFormat.getInstance().format(1000)

и получите строку 1,000.

Как я могу применить это к форматированным строкам из strings.xml ресурсов?

Пример:

 <string name="number_of_results">%1$d results</string>

Звонок

getString(R.string.number_of_results, 1000)

вернет 1000 results. Как я могу получить 1,000 results?

1 Ответ

0 голосов
/ 29 июня 2018

Ресурсы Android не такие умные. Если вам нужно сложное форматирование, вы должны сделать это самостоятельно, а затем вставить его в виде строки:

<string name="number_of_results">%1$s results</string>

А потом

getString(R.string.number_of_results, NumberFormat.getInstance().format(1000));

Библиотеки форматирования обычно предоставляют вам интерфейс для настройки локали, поэтому ваши номера будут правильно локализованы, здесь не стоит беспокоиться.

...