ConvertNumber 做 JSF 负值
ConvertNumber do JSF negative values
负货币值,当我使用 JSF 的本机转换器时,<f:convertNumber type="currency"/>
,在货币符号之前保留字符“-
”。
例如:-$ 56.134.726,99
.xhtml
<p:column>
<h:outputText value="#{entity.monetaryValue}">
<f:convertNumber type="currency"/>
</h:outputText>
</p:column>
对于这个问题,除了创建我自己的 Converter 之外,还有其他解决方案吗?
实现 Converter
并覆盖 getAsString()
方法为:
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value == null)
return "";
return "$" + String.valueOf(NumberFormat.getNumberInstance(Locale.US).format(value));
}
怎么样:
<f:convertNumber type="currency" currencySymbol="$" locale="DE"
pattern="¤###,###,##0.00;¤-###,###,##0.00" />
模式描述here
注意:我使用 locale="DE"
是因为在此语言环境中 ,
用作小数点分隔符,而 .
用作组分隔符。
负货币值,当我使用 JSF 的本机转换器时,<f:convertNumber type="currency"/>
,在货币符号之前保留字符“-
”。
例如:-$ 56.134.726,99
.xhtml
<p:column>
<h:outputText value="#{entity.monetaryValue}">
<f:convertNumber type="currency"/>
</h:outputText>
</p:column>
对于这个问题,除了创建我自己的 Converter 之外,还有其他解决方案吗?
实现 Converter
并覆盖 getAsString()
方法为:
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value == null)
return "";
return "$" + String.valueOf(NumberFormat.getNumberInstance(Locale.US).format(value));
}
怎么样:
<f:convertNumber type="currency" currencySymbol="$" locale="DE"
pattern="¤###,###,##0.00;¤-###,###,##0.00" />
模式描述here
注意:我使用 locale="DE"
是因为在此语言环境中 ,
用作小数点分隔符,而 .
用作组分隔符。