Как разместить символ евро для валюты в конце, а не в начале вывода? - PullRequest
5 голосов
/ 11 октября 2011

Я использую стандартные конвертерные теги JSF 2.0 для форматирования некоторого числа в качестве валюты. Но у меня есть небольшая проблема, я не знаю, как поместить символ евро в конце вывода.

Вот что я сделал:

<h:outputText value="#{payment.amount}">
    <f:convertNumber type="currency" currencySymbol="€"/>
</h:outputText>

Вывод, который я получаю:

€ 15,55

Но желаемый результат:

15,55 €

Может кто-нибудь дать мне совет, как решить эту маленькую проблему?

Ответы [ 3 ]

12 голосов
/ 11 октября 2011

Формат зависит от локали представления.Локаль может быть установлена ​​двумя способами.

  1. Обычно с помощью атрибута locale тега <f:view>:

    <f:view locale="#{bean.locale}">
    
  2. В частности, по атрибуту locale тега <f:convertNumber>:

    <f:convertNumber type="currency" currencySymbol="€" locale="#{bean.locale}" />
    

Неясно, на какой язык вы ориентируетесь,но использование , в качестве разделителя фракций и размещение после валюты типично для других стран: Германия (de-DE), Франция (fr-FR) и Португалия (pt-PT).).Поэтому вам нужно установить его следующим образом:

<f:convertNumber type="currency" currencySymbol="€" locale="pt-PT" />

Его также можно получить из свойства компонента java.util.Locale.

3 голосов
/ 11 октября 2011

Попробуйте это:

<h:outputText value="#{payment.amount}">
    <f:convertNumber type="number" pattern="###,###.###€"/>
</h:outputText>
1 голос
/ 11 октября 2011

Попробуйте использовать pattern свойство f:convertNumber следующим образом.

<f:convertNumber type="number" pattern="###€"/>

Проверьте следующие страницы для получения более подробной информации.

...