首頁技術(shù)文章正文

java必學(xué)知識點:fmt標簽詳解

更新時間:2018-01-11 來源:黑馬程序員 瀏覽量:

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

1.格式化日期

格式化日期的標簽是:

其中兩個屬性代表的意思如下:

l value:指定一個Date類型的變量;

l pattern:用來指定輸出的日期模板,例如:yyyy-MM-dd HH:mm:ss。

下面通過一個小例子來練習(xí)如何使用fmt的日期格式化標簽來格式化日期,如下所示:

(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的日期格式化標簽對該Date類型的對象進行格式化。

(2)將Example10發(fā)布到服務(wù)器中,然后啟動服務(wù)器,在瀏覽器端訪問fmt.jsp頁面,瀏覽器顯示結(jié)果如圖1-1所示:

fmt標簽

圖1-1 瀏覽器顯示結(jié)果

需要注意的是,日期格式化標簽中的value屬性的值一定要是一個Date類型的變量,如果給它一個時間格式的字符串,在訪問fmt.jsp頁面時會報錯。

2.格式化數(shù)字

fmt標簽庫還提供了格式化數(shù)字的標簽,如下:

標簽中的兩個屬性代表的意義分別如下:

l value:指定數(shù)字類型的變量或常量;

l pattern:指定格式化數(shù)字的類型,例如:0.00,#.##。

下面通過一個小案例來練習(xí)如何使用數(shù)字格式化標簽格式化數(shù)字,如下:

(1)在fmt.jsp頁面中添加如例1-2所示代碼:

此處省略例1-1中的代碼

例1-2中,value屬性的值是“1.23”,是一個常量;pattern的值是“0.0”代表的是保留小數(shù)點后一位小數(shù)。

(2)瀏覽器端訪問fmt.jsp頁面,瀏覽器顯示結(jié)果如圖1-2所示:

fmt標簽

圖1-2 瀏覽器顯示結(jié)果

(3)對例1-2稍作修改,如例1-3所示:

此處省略例1-1中的代碼

<%

request.setAttribute("num1",3.1415926);

%>

例1-3中,將一個數(shù)“3.1415926”保存在request域中,然后使用數(shù)字格式化標簽對其進行格式化,格式化的模板是保留小數(shù)點后三位小數(shù)。

(4)在瀏覽器端訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-3所示:

fmt標簽

圖1-3 瀏覽器顯示結(jié)果

由圖1-3可知,pattern=“0.000”不僅保留小數(shù)點后三位小數(shù),還進行了四舍五入。

(5)將例1-3中的數(shù)由“3.1415926”改成“3.14”,再次訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-4所示:

fmt標簽

圖1-4中,3.14后面只有兩位小數(shù),而pattern的值為0.000,即保留小數(shù)點后面三位小數(shù),不夠的用0補上。

(6)將例1-3中的pattern的值改為“#.###“,然后再次訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-5所示:

fmt標簽

圖1-5 瀏覽器顯示結(jié)果

由圖1-5可知,pattern為“#.###“也是保留小數(shù)點后三位小數(shù),并進行四舍五入。

(7)再次將數(shù)“3.1415926“改成”3.14“,然后訪問fmt.jsp,瀏覽器顯示結(jié)果如圖1-6所示:

fmt標簽

圖1-6 瀏覽器顯示結(jié)果

圖1-6中,格式化后的數(shù)字是“3.14“,而pattern的值為”#.###“是保留小數(shù)點后三位數(shù)字,如果位數(shù)不夠三位,不補0,按原樣輸出。這一點與“0.000”不同。


本文版權(quán)歸黑馬程序員JavaEE學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓(xùn)學(xué)院

首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!