Android getString(): формат xliff с плавающей запятой/двойной

Как отформатировать строки с помощью xliff, используя числа с плавающей запятой и двойные числа (десятичные знаки)?

<string name="test">Test <xliff:g id="float1">%1$f</xliff:g> <xliff:g id="float2">%1$.2f</xliff:g></string>

Код:

mContext.getString(R.string.test, 1.23456);

person Eun    schedule 16.07.2014    source источник


Ответы (1)


Вы можете определить количество знаков после запятой в заполнителе xliff индивидуально для каждого числа следующим образом:

<string name="test">
    First <xliff:g id="first_number" example="100.123">%1$.4f</xliff:g> number 
    is and second number is <xliff:g id="second_number" example="200.12">%2$.2f</xliff:g>.
</string>

Применение:

mContext.getString(R.string.test, 100.123456789, 200.123456789);

Выход:

First number is 100.1234 and second number is 200.12.

Обратите внимание, что вы должны использовать пронумерованный заполнитель, как здесь %1f, %2f, ...

Структура заполнителя для примера %1$.4f выглядит следующим образом:

  • %1 это серийный номер
  • f — тип данных, в данном случае float
  • .4 определяет количество знаков после запятой для числа с плавающей запятой, в данном случае четыре.
person JJD    schedule 28.10.2014