ICU4J - один и тот же символ валюты в качестве префикса или суффикса в зависимости от локали - PullRequest
1 голос
/ 23 мая 2019

Я хочу правильно разместить символ $ в виде префикса или суффикса, в зависимости от локали, использующей класс MessageFormat, но пока безуспешно.Мне нужно локализовать символ валюты размещение , но не сам символ.

В своем сообщении я использую:

Стоимость автомобиля составляет {0, число, валюта}

, и я создаю экземпляр вызова MessageFormat:

MessageFormat messageFormat = new MessageFormat(msg, locale);

В результате символ валюты размещен правильно, но он также был изменен в зависимости от используемой локали.Для локали en_us я получаю $, для локали pl_pl я получаю zł.

Итак, вопрос в том, как сказать MessageFormat , чтобы он всегда использовал один и тот же символ валюты (в моем случае - $), ноэто (как префикс или суффикс) в зависимости от локали?

На основе руководства MessageFormat выглядит так: {0, number, currency} отформатировано с использованием NumberFormat.getCurrencyInstance (getLocale ()) ,так что мне интересно, возможно ли это вообще.

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 23 мая 2019

Оказывается, это возможно. Объект CurrencyAmount , настроенный в качестве валюты USD, должен быть передан в качестве аргумента методу format класса MessageFormat .

...