<fmt:formatNumber> 標籤用於設定數位在不同國家區域的顯示格式,例如,數位 1000000.9,在中國將使用 1,000,000.9 的格式,而在法國則會使用 1 000 000.9 的數位格式。
語法:
<fmt:formatNumber[type="{number|currency|percent}"]
[pattern="customPattern"]
[currencyCode="currencyCode"]
[currencySymbol="currencySymbol"]
[groupingUsed="{true|false}"]
[maxIntegerDigits="maxIntegerDigits"]
[minIntegerDigits="minIntegerDigits"]
[maxFractionDigits="maxFractionDigits"]
[minFractionDigits="minFractionDigits"]
[var="varName"]
[scope="{page|request|session|application}"]>
numeric value to be formatted
</fmt:formatNumber>
<fmt:formatNumber> 標籤各屬性的詳細介紹如表所示。
<fmt:formatNumber>標籤屬性
屬性 |
型別 |
描述 |
參照 EL |
value |
String,Number |
被格式化的數位 |
可以 |
type |
String |
數位格式的表現型別,可以選擇貨幣、百分比和數位型別。下表介紹 |
可以 |
pattern |
String |
模式字串 |
可以 |
currencyCode |
String |
貨幣單位程式碼 |
可以 |
currencySymbol |
String |
貨幣符號 |
可以 |
groupingUsed |
boolean |
是否對格式化數位的整數部分分組,例如:123,456,789.001 |
可以 |
maxIntegerDigits |
int |
數位格式化後的最大整數位數 |
可以 |
minIntegerDigits |
int |
數位格式化後的最小整數位數 |
可以 |
maxFractionDigits |
int |
數位格式化後的最大小數位數 |
可以 |
minFractionDigits |
int |
數位格式化後的最小小數位數 |
可以 |
var |
String |
儲存格式化後的數位格式 |
不可以 |
scope |
String |
變數的作用範圍 |
不可以 |
type屬性的型別
型別 |
說明 |
範例 |
number |
數位格式 |
6.7 |
currency |
貨幣格式 |
¥6.70 |
percent |
百分比格式 |
670% |
範例1
應用 <fmt:formatNumber> 標籤將數位 7.17 分別以數位、貨幣和百分比格式輸出,關鍵程式碼如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<fmt:formatNumber value="7.17" type="number"/><!--顯示7.17-->
<br>
<fmt:formatNumber value="7.17" type="percent"/><!--顯示7.17-->
<br>
<fmt:formatNumber value="7.17" type="currency"/><!--顯示¥7.17-->
範例2
本範例應用 <fmt:formatNumber> 標籤設定其 type 屬性的不同值,實現對含有小數的數值進行格式化和對貨幣幣種的不同顯示,關鍵程式碼如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!--顯示314,159.26-->
<fmt:formatNumber value="314159.26" groupingUsed="true"/>
<!--顯示0457.17-->
<fmt:formatNumber value="70457.17" maxIntegerDigits="4"/>
<!--顯示0,007.17-->
<fmt:formatNumber value="7.17" minIntegerDigits="4" groupingUsed="true"/>
<!--顯示$7.17-->
<fmt:formatNumber value="7.17" currencySymbol="$" type="currency"/>
<!--顯示3.14-->
<fmt:formatNumber value="3.14159" maxFractionDigits="2"/>
<!--顯示3.15-->
<fmt:formatNumber value="3.14559" maxFractionDigits="2"/>
範例3
本範例應用 <fmt:formatNumber> 標籤將圓周率顯示為科學計數法的模式,關鍵程式碼如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!--顯示3.142E-1-->
<fmt:formatNumber value="0.31415926535897" pattern="0.###E0"/>
<!--顯示31.416E-2-->
<fmt:formatNumber value="0.31415926535897" pattern="00.###E0"/>
<!--顯示3.142E13-->
<fmt:formatNumber value="31415926535897" pattern="0.###E0"/>