当我使用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>
有没有解决这个问题的方法与创建我自己的转换器不同?
答案 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));
}