JSTL - Core <fmt:formatNumber> 标签



<fmt:formatNumber> 标签用于格式化数字、百分比货币

属性

<fmt:formatNumber> 标签具有以下属性:

属性 描述 必需 默认值
要显示的数值
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属性允许您指定数字非小数部分的大小。如果实际数字超过maxIntegerDigits,则数字将被截断。

  • 还提供属性来确定应使用多少位小数。minFractionalDigitsmaxFractionalDigits属性允许您指定小数位数。如果数字超过最大小数位数,则数字将被四舍五入。

  • 可以使用分组在千位分组之间插入逗号。通过将groupingIsUsed属性设置为true或false来指定分组。当将分组与minIntegerDigits一起使用时,必须小心才能获得预期的结果。

  • 您可以选择使用pattern属性。此属性允许您包含指定如何编码数字的特殊字符。下表列出了这些代码。

序号 符号及描述
1

0

表示一个数字。

2

E

表示指数形式。

3

#

表示一个数字;将0显示为缺失。

4

.

用作小数分隔符的占位符。

5

,

用作分组分隔符的占位符。

6

;

分隔格式。

7

-

用作默认负前缀。

8

%

乘以100并显示为百分比。

9

?

乘以1000并显示为千分比。

10

¤

表示货币符号;被实际货币符号替换。

11

X

指示任何其他字符都可以在前缀或后缀中使用。

12

'

用于在字首或字尾中引用特殊字符。

示例

<%@ 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

jsp_standard_tag_library.htm
广告
© . All rights reserved.