2017-08-23 3 views
2

Les valeurs monétaires des négatifs, lorsque j'utilise le convertisseur natif de JSF, <f:convertNumber type="currency"/>, conserve le caractère '-' avant le symbole monétaire.ConvertNumber des valeurs négatives JSF

Par exemple: -$ 56.134.726,99

.xhtml

<p:column> 
    <h:outputText value="#{entity.monetaryValue}"> 
     <f:convertNumber type="currency"/> 
    </h:outputText> 
</p:column> 

est-il une solution à ce problème différent de crée mon propre Converter?

+0

En quoi consiste le problème? Voulez-vous ignorer complètement le signe moins? Ou peut-être voulez-vous l'imprimer à un autre endroit, par exemple après "$", pas avant? – krokodilko

+0

je voulais '$ -56.134.726,99' au lieu de' - $ 56.134.726,99' –

Répondre

3

Qu'en est-:

<f:convertNumber type="currency" currencySymbol="$" locale="DE" 
     pattern="¤###,###,##0.00;¤-###,###,##0.00" /> 

Le modèle est décrit here


Note: J'utilise locale="DE" parce que dans ce lieu , est utilisé comme séparateur décimal tor, et . comme séparateur de groupe.

0

Mettre en œuvre Converter et remplacer la méthode getAsString() comme:


public String getAsString(FacesContext context, UIComponent component, Object value) { 
    if (value == null) 
       return ""; 
    return "$" + String.valueOf(NumberFormat.getNumberInstance(Locale.US).format(value)); 
} 
+0

"Y at-il une solution à ce problème différent de crée mon propre convertisseur?" –

+0

J'ai eu ce problème et la seule solution que j'ai jamais eu est celle ci-dessus. – Nick

+0

sympa !! mais, en utilisant le 'modèle 'passé dans l'autre réponse a travaillé. –