数字日期格式化标签共有6个,用来将数字或日期转换成设定的格式。
formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。
【功能】:该标签依据特定的区域将数字改变为不同的格式来显示。
【语法1】:
[currencyCode=”code”]
[currencySymbol=”symbol”]
[groupingUsed=”true|false”]
[maxIntergerDigits=”maxDigits”]
[minIntergerDigits=”minDigits”]
[maxFractionDigits=”maxDigits”]
[minFractionDigits=”minDigits”]
[var=”name”]
[scope=page|request|session|application]
/>
【语法2】:
[currencyCode=”code”]
[currencySymbol=”symbol”]
[groupingUsed=”true|false”]
[maxIntergerDigits=”maxDigits”]
[minIntergerDigits=”minDigits”]
[maxFractionDigits=”maxDigits”]
[minFractionDigits=”minDigits”]
[var=”name”]
[scope=page|request|session|application]
>
被格式化的数据
表2-1-1
名称 |
说明 |
EL |
类型 |
必须 |
默认值 |
value |
要格式化的数据 |
是 |
String |
是 |
无 |
type |
指定类型(单位、货币、百分比等)见表 |
是 |
String |
否 |
number |
pattern |
格式化的数据样式 |
是 |
String |
否 |
无 |
currencyCode |
货币单位代码 |
是 |
String |
否 |
无 |
cuttencySymbol |
货币符号($、¥) |
是 |
String |
否 |
无 |
groupingUsed |
是否对整数部分进行分组如(9,999) |
是 |
boolean |
是 |
true |
maxIntergerDigits |
整数部分最对显示多少位数 |
是 |
int |
否 |
无 |
minIntergerDigits |
整数部分最少显示多少位 |
是 |
int |
否 |
无 |
maxFractionDigits |
小数部分最多显示多少位 |
是 |
int |
否 |
无 |
minFractionDigits |
小数部分最少显示多少位 |
是 |
int |
否 |
无 |
var |
存储格式化后的数据 |
否 |
String |
否 |
无 |
scope |
var的JSP范围 |
否 |
String |
否 |
page |
表2-1-2 Type的属性类型
类型 |
说明 |
示例 |
number |
数字格式 |
0.8 |
currency |
当地货币 |
¥0.80 |
percent |
百分比格式 |
80% |
<%@ 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"%>
类型
使用数据
结果
说明
数字格式化
11108.754
使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。
数字格式化
9557
使用科学计数法。
数字格式化
219557
使用默认分组。
数字格式化
9557
不使用分组。
数字格式化
9557
使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。
百分比格式化
0.98
用百分比形式显示一个数据。
货币格式化
188.88
将一个数据转化为货币形式输出。
存储数据
188.88
存储的money的值为${money}
【代码说明】:
(1)从应用角度可以把属性分为三类:数字格式化(number)、货币格式化(currency)、百分比格式化(percent)。使用type指定类型。
(2)应用于数字格式化的属性有:
partten属性、maxIntegerDigits属性、minIntegerDigits属性、maxFractionDigits属性和minFactionDigits属性。
其中partten属性在设定格式化样式时会比较准确如:四舍五入、科学计数法的使用。
而使用maIntegerDirgits等属性时,只把设定位数以外的数字舍去。
(3)货币格式化可以使用数字格式化的所有属性。如果有必要建议使用partten属性。
currencyCode属性和currencySymbol只用于货币格式化。
(4)百分比格式化使用到的属性为type属性、partten属性,设定type属性的类型为percent即可。
(5)使用var属性时,会将格式化后的值存在JSP的某个范围内(一个String类型的字符串包括符号等)。
(6)通用属性:type属性、partten属性、var属性和scope属性。
【程序运行结果】:
类型 | 使用数据 | 结果 | 说明 |
数字格式化 | 11108.754 | 11108.76 | 使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。 |
数字格式化 | 9557 | 9.557E3 | 使用科学计数法。 |
数字格式化 | 219557 | 219,557 | 使用默认分组。 |
数字格式化 | 9557 | 9,557 | 不使用分组。 |
数字格式化 | 9557 | 557 | 使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。 |
百分比格式化 | 0.98 | 98% | 用百分比形式显示一个数据。 |
货币格式化 | 188.88 | ¥188.80 | 将一个数据转化为货币形式输出。 |
存储数据 | 188.88 | ¥188.80 | 存储的money的值为¥188.80 |
提示:如果给定的数据类型有错误将或产生异常。例如:给定的数据为aa进行类型转化,将使应用程序无法显示。
因此在实际应用中显示的格式化应该放入
【语法1】:
[pattern=”pattern”] [parseLocale=”locale”] [intergerOnly=”true|false”] [scope=”page|request|session|application”] />
[pattern=”pattern”] [parseLocale=”locale”] [intergerOnly=”true|false”] [scope=”page|request|session|application”] > Number 表2-2-1 名称 说明 EL 类型 是否必须 默认值 value 被解析的字符串 是 String 是 无 type 指定单位(数字、货币、百分比) 是 String 是 number pattern 格式样式 是 String 否 无 parseLocale 用来替代默认区域的设定 是 String, Java.util. Locale 是 默认本地样式 var 存储已经格式化的数据 否 String 否 无 scope var变量的作用域 否 String 是 page 相应的参数和类型的配置和使用 【示例代码】: 实现了从字符串中提取数据,并用合适的数据类型进行存储(浮点性、整型等)。可以对转换后的数据进行加法运算。 <%@ 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"%>