教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓(xùn)之fmt標(biāo)簽詳解

更新時(shí)間:2016年06月29日17時(shí)57分 來源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):


fmt標(biāo)簽庫是用來格式化輸出的,而我們今天需要學(xué)習(xí)的就是格式化日期和數(shù)字。

1.格式化日期

格式化日期的標(biāo)簽是:
<fmt:formatDate value=”xxx” pattern=”xxx”/>
其中兩個(gè)屬性代表的意思如下:
l value:指定一個(gè)Date類型的變量;
l pattern:用來指定輸出的日期模板,例如:yyyy-MM-dd HH:mm:ss。
下面通過一個(gè)小例子來練習(xí)如何使用fmt的日期格式化標(biāo)簽來格式化日期,如下所示:
(1)在web應(yīng)用Example10的WebRoot目錄下新建一個(gè)jsp文件,名稱為fmt.jsp,主要代碼如例1-1所示:
例1-1 fmt.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
... ...
<body>
    <%
     Date date=new Date();
     request.setAttribute("date", date);
     %>
     <fmt:formatDate value="${date }" pattern="yyyy-MM-dd HH:mm:ss"/>
</body>
例1-1中,首先創(chuàng)建一個(gè)Date類型的對象,然后將該對象保存在request域中,最后使用fmt的日期格式化標(biāo)簽對該Date類型的對象進(jìn)行格式化。
(2)將Example10發(fā)布到服務(wù)器中,然后啟動服務(wù)器,在瀏覽器端訪問fmt.jsp頁面,瀏覽器顯示結(jié)果如圖1-1所示:

圖1-1 瀏覽器顯示結(jié)果
需要注意的是,日期格式化標(biāo)簽中的value屬性的值一定要是一個(gè)Date類型的變量,如果給它一個(gè)時(shí)間格式的字符串,在訪問fmt.jsp頁面時(shí)會報(bào)錯(cuò)。

2.格式化數(shù)字

fmt標(biāo)簽庫還提供了格式化數(shù)字的標(biāo)簽,如下:
<fmt:formatNumber value=”xxx” pattern=”xxx”/>
標(biāo)簽中的兩個(gè)屬性代表的意義分別如下:
l value:指定數(shù)字類型的變量或常量;
l pattern:指定格式化數(shù)字的類型,例如:0.00,#.##。
下面通過一個(gè)小案例來練習(xí)如何使用數(shù)字格式化標(biāo)簽格式化數(shù)字,如下:
(1)在fmt.jsp頁面中添加如例1-2所示代碼:
此處省略例1-1中的代碼
<fmt:formatNumber value="1.23" pattern="0.0"> </fmt:formatNumber>
例1-2中,value屬性的值是“1.23”,是一個(gè)常量;pattern的值是“0.0”代表的是保留小數(shù)點(diǎn)后一位小數(shù)。
(2)瀏覽器端訪問fmt.jsp頁面,瀏覽器顯示結(jié)果如圖1-2所示:

圖1-2 瀏覽器顯示結(jié)果
(3)對例1-2稍作修改,如例1-3所示:
此處省略例1-1中的代碼
<%
       request.setAttribute("num1",3.1415926);
%>
<fmt:formatNumber value="${num1 }" pattern="0.000"> </fmt:formatNumber>
例1-3中,將一個(gè)數(shù)“3.1415926”保存在request域中,然后使用數(shù)字格式化標(biāo)簽對其進(jìn)行格式化,格式化的模板是保留小數(shù)點(diǎn)后三位小數(shù)。
(4)在瀏覽器端訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-3所示:

圖1-3 瀏覽器顯示結(jié)果
由圖1-3可知,pattern=“0.000”不僅保留小數(shù)點(diǎn)后三位小數(shù),還進(jìn)行了四舍五入。
(5)將例1-3中的數(shù)由“3.1415926”改成“3.14”,再次訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-4所示:

圖1-4中,3.14后面只有兩位小數(shù),而pattern的值為0.000,即保留小數(shù)點(diǎn)后面三位小數(shù),不夠的用0補(bǔ)上。
(6)將例1-3中的pattern的值改為“#.###“,然后再次訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-5所示:

圖1-5 瀏覽器顯示結(jié)果
由圖1-5可知,pattern為“#.###“也是保留小數(shù)點(diǎn)后三位小數(shù),并進(jìn)行四舍五入。
(7)再次將數(shù)“3.1415926“改成”3.14“,然后訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-6所示:

圖1-6 瀏覽器顯示結(jié)果
圖1-6中,格式化后的數(shù)字是“3.14“,而pattern的值為”#.###“是保留小數(shù)點(diǎn)后三位數(shù)字,如果位數(shù)不夠三位,不補(bǔ)0,按原樣輸出。這一點(diǎn)與“0.000”不同。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/javaee
0 分享到:
和我們在線交談!