更新時間:2018-01-11 來源:黑馬程序員 瀏覽量:
fmt標(biāo)簽庫是用來格式化輸出的,而我們今天需要學(xué)習(xí)的就是格式化日期和數(shù)字。
1.格式化日期
格式化日期的標(biāo)簽是:
其中兩個屬性代表的意思如下:
l value:指定一個Date類型的變量;
l pattern:用來指定輸出的日期模板,例如:yyyy-MM-dd HH:mm:ss。
下面通過一個小例子來練習(xí)如何使用fmt的日期格式化標(biāo)簽來格式化日期,如下所示:
(1)在web應(yīng)用Example10的WebRoot目錄下新建一個jsp文件,名稱為fmt.jsp,主要代碼如例1-1所示:
例1-1 fmt.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
... ...
<%
Date date=new Date();
request.setAttribute("date", date);
%>
例1-1中,首先創(chuàng)建一個Date類型的對象,然后將該對象保存在request域中,最后使用fmt的日期格式化標(biāo)簽對該Date類型的對象進(jìn)行格式化。
(2)將Example10發(fā)布到服務(wù)器中,然后啟動服務(wù)器,在瀏覽器端訪問fmt.jsp頁面,瀏覽器顯示結(jié)果如圖1-1所示:
圖1-1 瀏覽器顯示結(jié)果
需要注意的是,日期格式化標(biāo)簽中的value屬性的值一定要是一個Date類型的變量,如果給它一個時間格式的字符串,在訪問fmt.jsp頁面時會報錯。
2.格式化數(shù)字
fmt標(biāo)簽庫還提供了格式化數(shù)字的標(biāo)簽,如下:
標(biāo)簽中的兩個屬性代表的意義分別如下:
l value:指定數(shù)字類型的變量或常量;
l pattern:指定格式化數(shù)字的類型,例如:0.00,#.##。
下面通過一個小案例來練習(xí)如何使用數(shù)字格式化標(biāo)簽格式化數(shù)字,如下:
(1)在fmt.jsp頁面中添加如例1-2所示代碼:
此處省略例1-1中的代碼
例1-2中,value屬性的值是“1.23”,是一個常量;pattern的值是“0.0”代表的是保留小數(shù)點后一位小數(shù)。
(2)瀏覽器端訪問fmt.jsp頁面,瀏覽器顯示結(jié)果如圖1-2所示:
圖1-2 瀏覽器顯示結(jié)果
(3)對例1-2稍作修改,如例1-3所示:
此處省略例1-1中的代碼
<%
request.setAttribute("num1",3.1415926);
%>
例1-3中,將一個數(shù)“3.1415926”保存在request域中,然后使用數(shù)字格式化標(biāo)簽對其進(jìn)行格式化,格式化的模板是保留小數(shù)點后三位小數(shù)。
(4)在瀏覽器端訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-3所示:
圖1-3 瀏覽器顯示結(jié)果
由圖1-3可知,pattern=“0.000”不僅保留小數(shù)點后三位小數(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ù)點后面三位小數(shù),不夠的用0補(bǔ)上。
(6)將例1-3中的pattern的值改為“#.###“,然后再次訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-5所示:
圖1-5 瀏覽器顯示結(jié)果
由圖1-5可知,pattern為“#.###“也是保留小數(shù)點后三位小數(shù),并進(jìn)行四舍五入。
(7)再次將數(shù)“3.1415926“改成”3.14“,然后訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-6所示:
圖1-6 瀏覽器顯示結(jié)果
圖1-6中,格式化后的數(shù)字是“3.14“,而pattern的值為”#.###“是保留小數(shù)點后三位數(shù)字,如果位數(shù)不夠三位,不補(bǔ)0,按原樣輸出。這一點與“0.000”不同。
本文版權(quán)歸黑馬程序員JavaEE學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員JavaEE培訓(xùn)學(xué)院
首發(fā):http://java.itheima.com/