我得到的数额类似于4567.00,8976.00等。现在,在显示标签中显示此值时,我想将其打印为4567.00美元而不是4567.00。我怎样才能做到这一点? 提供我只是想使用显示标签。我可以用core:out标签实现同样的功能。如何在显示标签中格式化货币
$<core:out value="${variableInMyList}" />
答案找到[我怎么做的]
创建一个新类:
在显示标签public class NumberFormatDecorator implements DisplaytagColumnDecorator{
Logger logger = MyLogger.getInstance ();
public Object decorate(Object columnValue, PageContext pageContext, MediaTypeEnum media) throws DecoratorException {
try
{
Object colVal = columnValue;
if (columnValue != null){
colVal = Double.parseDouble((String)columnValue);
}
return colVal;
}catch (Exception nfe){}
logger.error("Unable to convert to Numeric Format");
return columnValue; // even if there is some exception return the original value
}
}
现在
<displaytag:column title="Amount" property="amount" decorator="com.rj.blah.utils.decorator.NumberFormatDecorator" format="$ {0,number,0,000.00}"/>
注:我们可以使用displaytag的格式属性将MessageFormat:列
** $ **正如我所说的这不是我想要做的。但thanx的装饰概念 –
2009-06-23 04:41:41