fmt:formatNumber>标签:用于格式化数字



<fmt:formatNumber>标签:用于格式化数字,<fmt:formatNumber>标记是用来设置数字,百分比和货币的格式。
属性描述 
value:格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例 
type:格式化的类型,可能值包括:currency(货币)、number(数字)和percent(百分比)
pattern:格式化模式 
var:结果保存变量 
scope:变量的作用范围 
maxIntegerDigits:指定格式化结果的最大值 
minIntegerDigits:指定格式化结果的最小值 
maxFractionDigits:指定格式化结果的最大值,带小数 
minFractionDigits:指定格式化结果的最小值,带小数 
如:
   结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式
       <fmt:formatNumber value=”1000.888″ type=”currency” var=”money”/>

<fmt:parseNumber> 标签:用于解析数字
属性描述 
value:将被解析的字符串 
type:解析格式化的类型 
pattern:解析格式化模式 
var:结果保存变量,类型为 java.lang.Number 
scope:变量的作用范围 
parseLocale:以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例 

如:
   将”15%”转换为数字
       <fmt:parseNumber value=”15%” type=”percent” var=”num”/> fmt_formatNumber.jsp文件:

<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%>
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>
<%@ taglib uri=”http://java.sun.com/jsp/jstl/fmt” prefix=”fmt”%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<title>My JSP ‘fmt_formatNumber.jsp’ starting page</title>
</head>
<body>
<%
// 获取所有的field,放在数组中
java.lang.reflect.Field[] field = Locale.class.getFields();

List<Locale> list = new ArrayList<Locale>();

for(int i=0; i<field.length; i++){ // 遍历所有的field
if(field[i].getType().equals(Locale.class)){ // 判断获得类型为Locale类型
list.add((Locale)field[i].get(null)); // 把获得的对象添加到list中
}
}
request.setAttribute(“localeList”, list); // 把list集合添加到request中

double[] number = { 0, 10000, 55.0, -123.2568 }; // 定义一个数字类型的数组
request.setAttribute(“numbers”, number); // 把数组numbers保存到request中
%>
<fmt:setLocale value=”${ param.locale }”/>

当前格式:<c:out value=”${ param.locale }” default=”${ pageContext.request.locale } ” />&nbsp;
<c:forEach items=”${ localeList }” var=”locale”>
<a href=”${ pageContext.request.requestURI }?locale=${ locale }”>${ locale }</a>&nbsp;
</c:forEach>

<table>
<tr class=”title”>
<td>数字原值</td>
<td>数字格式</td>
<td>货币格式</td>
<td>百分数格式</td>
</tr>
<c:forEach items=”${ numbers }” var=”number”>
<tr>
<td>${ number }</td>
<td><fmt:formatNumber value=”${ number }” type=”number”
maxFractionDigits=”4″ minIntegerDigits=”3″ maxIntegerDigits=”3″
minFractionDigits=”2″ /></td>
<td><fmt:formatNumber value=”${ number }” type=”currency” /></td>
<td><fmt:formatNumber value=”${ number }” type=”percent” /></td>
</tr>
</c:forEach>
</table>
</body>
</html>