<fmt:formatNumber>
标签用于格式化数字,百分比和货币。
属性
<fmt:formatNumber>
标签具有以下属性 -
属性 | 描述 | 必需 | 默认 |
---|---|---|---|
value |
要显示的数值 | 是 | None |
type |
NUMBER , CURRENCY 或 PERCENT |
否 | Number |
pattern |
为输出指定自定义格式设置模式。 | 否 | None |
currencyCode |
货币代码(type ="currency" ) |
否 | 从默认语言环境 |
currencySymbol |
货币符号(type ="currency" ) |
否 | 从默认语言环境 |
groupingUsed |
是否分组数字值(TRUE 或FALSE ) |
否 | true |
maxIntegerDigits |
要打印的最大整数位数 | 否 | None |
minIntegerDigits |
要打印的最小整数位数 | 否 | None |
maxFractionDigits |
要打印的小数位数的最大数量 | 否 | None |
minFractionDigits |
要打印的小数位数的最小数量 | 否 | None |
var |
用于存储格式化数字的变量的名称 | 否 | 在页面内打印 |
scope |
存储格式化数字的变量范围 | 否 |
如果
type
属性为百分比或数字,则可以使用多个数字格式属性。maxIntegerDigits
和minIntegerDigits
属性允许您指定数字的非分数部分的大小。如果实际数字超过maxIntegerDigits
,则数字将被截断。还提供了属性以允许您确定应使用多少个小数位。
minFractionalDigits
和maxFractionalDigits
属性允许您指定小数位数。如果数字超过了小数位数的最大数字,则数字将被四舍五入。分组可用于在千位组之间插入逗号。 通过将
groupingIsUsed
属性设置为true
或false
来指定分组。 当与minIntegerDigits
一起使用分组时,必须小心获取预期的结果。可以选择使用
pattern
属性。 此属性允许您包含指定您的编号编码的特殊字符。下表列出了代码。
编号 | 符号 | 描述 |
---|---|---|
1 | 0 |
表示一个数字。 |
2 | E |
以指数形式表示。 |
3 | # |
代表数字; 显示0 为不使用。 |
4 | . |
作为小数分隔符的占位符。 |
5 | , |
作为分组分隔符的占位符。 |
6 | ; |
分隔格式 |
7 | - |
用作默认负值的前缀。 |
8 | % |
乘以100 并显示百分比。 |
9 | ? |
乘以1000 ,按照千分显示。 |
10 | ¤ |
代表货币符号; 取而代之的是实际货币的符号。 |
11 | X |
表示可以在前缀或后缀中使用任何其他字符。 |
12 | ' |
用于引用前缀或后缀中的特殊字符。 |
示例
文件:fmt_formatNumber.jsp -
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fmt:formatNumber示例</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<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>
</div>
</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