gpt4 book ai didi

jsf-2 -
转载 作者:行者123 更新时间:2023-12-01 09:28:12 24 4
gpt4 key购买 nike

我有一个 h:outputText 字段,用于以特定模式显示金额。

例如。 10000000 需要格式化为 1,00,00,000我用了<f:convertNumber />实现这一目标的标签。我尝试在 locale 属性中添加 hi_IN 和 en_IN,但结果被格式化为 10,000,000。然后通过应用具有以下值 (#,##,##0.00) 的模式属性尝试获得相同的结果 10,000,000.00。请建议?

示例代码:

<h:outputText value="#{sampleBean.amount}">
<f:convertNumber pattern="#,##,##0.00"/>
</h:outputText>

<h:outputText value="#{sampleBean.amount}">
<f:convertNumber locale="hi_IN" />
</h:outputText>

<h:outputText value="#{sampleBean.amount}">
<f:convertNumber locale="en_IN" />
</h:outputText>

最佳答案

如下制作自定义转换器,

import com.ibm.icu.text.NumberFormat;
import java.math.BigDecimal;
import java.util.Locale;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

@FacesConverter("currencyFormat")
public class CurrencyFormat implements Converter {

@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String submittedValue) {
return null;
}

@Override
public String getAsString(FacesContext facesContext, UIComponent component, Object value) {
if (value == null) {
return null;
} else {
if (value.toString().trim().equals("")) {
return null;
}
try {
Locale l=new Locale("en", "in");
NumberFormat format = com.ibm.icu.text.NumberFormat.getNumberInstance(l);
format.setMinimumFractionDigits(2);
return format.format(new BigDecimal(value.toString()));

} catch (Exception exception) {
throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid Number"));
}
}
}}

然后尝试跟随,

<h:outputText value="10000000" converter="currencyFormat"/>

注意:我用过IBM icu4j library转换数字,可用at here

关于jsf-2 - <f :convertNumber number pattern for displaying "10000000" as "1,00,00,000" - JSF2. 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16433260/

24 4 0

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com