ConvertNumber做JSF负值

时间:2017-08-23 17:20:27

标签: jsf converter currency negative-number

当我使用JSF的原生对话<f:convertNumber type="currency"/>时,负面的金钱价值会保留字符&#39; -&#39;在货币符号之前。

例如:-$ 56.134.726,99

.xhtml

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

有没有解决这个问题的方法与创建我自己的转换器不同?

2 个答案:

答案 0 :(得分:3)

怎么样:

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

该模式描述为here


注意:我使用locale="DE",因为在此区域设置,用作小数分隔符,.用作组分隔符。

答案 1 :(得分:0)

实施Converter并覆盖getAsString()方法:


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