JSP jstl-core-<fmt:formatNumber> 标记

  • jstl-core-<fmt:formatNumber> 标记

    <fmt:formatNumber>标记用于格式数字,百分比,和货币。
  • 属性

    属性 描述 必需 默认值
    Value 要显示的数值 没有
    type NUMBER,CURRENCY或PERCENT number
    pattern 为输出指定自定义格式模式。 没有
    currencyCode 货币代码(用于type=“currency”) 从默认语言环境
    currencySymbol 货币符号(type=“currency”) 从默认语言环境
    groupingUsed 是否对数字分组(TRUE或FALSE) true
    maxIntegerDigits 可打印的最大整数位数 没有
    minIntegerDigits 要打印的最小整数位数 没有
    maxFractionDigits 要打印的最大小数位数 没有
    minFractionDigits 最少要打印的小数位数 没有
    var 用于存储格式化数字的变量名称 打印到页面
    scope 存储格式化数字的变量作用域 page
    • 如果type属性是百分比或数字,则可以使用多个数字格式属性。maxIntegerDigitsminIntegerDigits属性允许您指定数量的nonfractional部分的大小。如果实际数字超过maxIntegerDigits,那么该数字将被截断。
    • 还提供了属性,使您可以确定应使用多少个小数位。使用minFractionalDigits和maxFractionalDigits属性可以指定小数位数。如果该数字超过小数位数的最大值,该数字将被四舍五入。
    • 分组可用于在数千个组之间插入逗号。通过将groupingIsUsed属性设置为true或false来指定分组。与minIntegerDigits一起使用分组时,必须小心以获得预期的结果。
    • 您可以选择使用pattern属性。此属性使您可以包括特殊字符,这些特殊字符指定您希望数字编码的方式。下表列出了代码。
    • 0 - 代表一个数字。
    • E - 以指数形式表示。
    • # - 代表一个数字; 缺省显示为0。
    • . - 用作小数点分隔符的占位符。
    • , - 用作分组分隔符的占位符。
    • ; - 分隔格式。
    • - - 用作默认的负前缀。
    • % - 乘以100并显示为百分比。
    • ? - 乘以1000并按千分之一显示。
    • ¤ - 代表货币符号; 由行动货币符号代替。
    • X - 表示可以在前缀或后缀中使用任何其他字符。
    • ' - 用于在前缀或后缀中引用特殊字符。
  • 示例

    
    <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
    
    <html>
       <head>
          <title>JSTL fmt:formatNumber Tag</title>
       </head>
    
       <body>
          <h3>Number Format:</h3>
          <c:set var = "balance" value = "120000.2309" />
             
          <p>Formatted Number (1): <fmt:formatNumber value = "${balance}" 
             type = "currency"/></p>
             
          <p>Formatted Number (2): <fmt:formatNumber type = "number" 
             maxIntegerDigits = "3" value = "${balance}" /></p>
             
          <p>Formatted Number (3): <fmt:formatNumber type = "number" 
             maxFractionDigits = "3" value = "${balance}" /></p>
             
          <p>Formatted Number (4): <fmt:formatNumber type = "number" 
             groupingUsed = "false" value = "${balance}" /></p>
             
          <p>Formatted Number (5): <fmt:formatNumber type = "percent" 
             maxIntegerDigits="3" value = "${balance}" /></p>
             
          <p>Formatted Number (6): <fmt:formatNumber type = "percent" 
             minFractionDigits = "10" value = "${balance}" /></p>
             
          <p>Formatted Number (7): <fmt:formatNumber type = "percent" 
             maxIntegerDigits = "3" value = "${balance}" /></p>
             
          <p>Formatted Number (8): <fmt:formatNumber type = "number" 
             pattern = "###.###E0" value = "${balance}" /></p>
             
          <p>Currency in USA :
             <fmt:setLocale value = "en_US"/>
             <fmt:formatNumber value = "${balance}" type = "currency"/>
          </p>
       
       </body>
    </html>
    
    这将产生以下结果-
    
    Number Format:
    
    Formatted Number (1): £120,000.23
    
    
    Formatted Number (2): 000.231
    
    
    Formatted Number (3): 120,000.231
    
    
    Formatted Number (4): 120000.231
    
    
    Formatted Number (5): 023%
    
    
    Formatted Number (6): 12,000,023.0900000000%
    
    
    Formatted Number (7): 023%
    
    
    Formatted Number (8): 120E3
    
    
    Currency in USA : $120,000.23