Java 如何在表达式语言中格式化数字?

Java 如何在表达式语言中格式化数字?,java,jsp,jstl,el,Java,Jsp,Jstl,El,如何在EL中为数字(例如long或BigDecimal)进行格式化输出?例如,我想将小数位数限制为3英寸 ${result.returnValue.contract.balance} 使用 例如: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <fmt:formatNumber value="${result.returnValue.contract.balance}"

如何在EL中为数字(例如
long
BigDecimal
)进行格式化输出?例如,我想将小数位数限制为3英寸

${result.returnValue.contract.balance}
使用

例如:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<fmt:formatNumber 
     value="${result.returnValue.contract.balance}" 
     maxFractionDigits="3"/>

使用JSF的现代Java EE 5-8方法是:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
   <h:outputText value="#{result.returnValue.contract.balance}">
      <f:convertNumber minFractionDigits="3"/>
   </h:outputText> ...

...
另见。
自从JavaEE6(2009)以来,推荐使用JSF/Facelets。

Upvote,一个快速的评论——BigDecimal肯定是这样工作的。如果您遇到问题,这不是BigDecimal的错:)在大多数情况下,您可能会同时添加“maxFractionDigits”和“minFractionDigits”属性以使其正常工作。