【问题标题】:How to format a number in Expression Language?如何在表达式语言中格式化数字?
【发布时间】:2011-02-28 21:42:46
【问题描述】:

如何在 EL 中为数字(例如 longBigDecimal)制作格式化输出?例如,我想在

中将小数位数限制为 3
${result.returnValue.contract.balance}

【问题讨论】:

  • 在大多数情况下,您最终可能会同时添加“maxFractionDigits”和“minFractionDigits”属性以使其正常工作。

标签: java jsp jstl el


【解决方案1】:

使用 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> ...

另见Using the Standard Converters。 从 Java EE 6 (2009) 开始,推荐使用 JSF/Facelets。

【讨论】:

    【解决方案2】:

    使用&lt;fmt:formatNumber/&gt;

    http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fmt/formatNumber.html

    例如:

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    
    <fmt:formatNumber 
         value="${result.returnValue.contract.balance}" 
         maxFractionDigits="3"/>
    

    【讨论】:

    • 支持,并快速发表评论 - BigDecimal 绝对是这样工作的。如果您遇到问题,那不是 BigDecimal 的错 :)
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    相关资源
    最近更新 更多