- JSP基础教程
- JSP - 首页
- JSP - 概述
- JSP - 环境搭建
- JSP - 架构
- JSP - 生命周期
- JSP - 语法
- JSP - 指令
- JSP - 动作
- JSP - 隐式对象
- JSP - 客户端请求
- JSP - 服务端响应
- JSP - HTTP状态码
- JSP - 表单处理
- JSP - 编写过滤器
- JSP - Cookie处理
- JSP - Session跟踪
- JSP - 文件上传
- JSP - 日期处理
- JSP - 页面重定向
- JSP - 点击计数器
- JSP - 自动刷新
- JSP - 发送邮件
- JSP高级教程
- JSP - 标准标签库
- JSP - 数据库访问
- JSP - XML数据
- JSP - JavaBean
- JSP - 自定义标签
- JSP - 表达式语言
- JSP - 异常处理
- JSP - 调试
- JSP - 安全性
- JSP - 国际化
- JSP有用资源
- JSP - 问答
- JSP - 快速指南
- JSP - 有用资源
- JSP - 讨论
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属性为百分比或数字,则可以使用多个数字格式化属性。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 | ' 用于在字首或字尾中引用特殊字符。 |
示例
<%@ 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