<fmt:formatNumber>
標籤用於格式化數位,百分比和貨幣。
<fmt:formatNumber>
標籤具有以下屬性 -
屬性 | 描述 | 必需 | 預設 |
---|---|---|---|
value |
要顯示的數值 | 是 | None |
type |
NUMBER , CURRENCY 或 PERCENT |
否 | Number |
pattern |
為輸出指定自定義格式設定模式。 | 否 | None |
currencyCode |
貨幣程式碼(type ="currency" ) |
否 | 從預設語言環境 |
currencySymbol |
貨幣符號(type ="currency" ) |
否 | 從預設語言環境 |
groupingUsed |
是否分組數位值(TRUE 或FALSE ) |
否 | true |
maxIntegerDigits |
要列印的最大整數位數 | 否 | None |
minIntegerDigits |
要列印的最小整數位數 | 否 | None |
maxFractionDigits |
要列印的小數位數的最大數量 | 否 | None |
minFractionDigits |
要列印的小數位數的最小數量 | 否 | None |
var |
用於儲存格式化數位的變數的名稱 | 否 | 在頁面內列印 |
scope |
儲存格式化數位的變數範圍 | 否 |
如果type
屬性為百分比或數位,則可以使用多個數位格式屬性。maxIntegerDigits
和minIntegerDigits
屬性允許您指定數位的非分數部分的大小。如果實際數位超過maxIntegerDigits
,則數位將被截斷。
還提供了屬性以允許您確定應使用多少個小數位。 minFractionalDigits
和maxFractionalDigits
屬性允許您指定小數位數。如果數位超過了小數位數的最大數位,則數位將被四捨五入。
分組可用於在千位組之間插入逗號。 通過將groupingIsUsed
屬性設定為true
或false
來指定分組。 當與minIntegerDigits
一起使用分組時,必須小心獲取預期的結果。
可以選擇使用pattern
屬性。 此屬性允許您包含指定您的編號編碼的特殊字元。下表列出了程式碼。
編號 | 符號 | 描述 |
---|---|---|
1 | 0 |
表示一個數位。 |
2 | E |
以指數形式表示。 |
3 | # |
代表數位; 顯示0 為不使用。 |
4 | . |
作為小數分隔符的預留位置。 |
5 | , |
作為分組分隔符的預留位置。 |
6 | ; |
分隔格式 |
7 | - |
用作預設負值的字首。 |
8 | % |
乘以100 並顯示百分比。 |
9 | ? |
乘以1000 ,按照千分顯示。 |
10 | ¤ |
代表貨幣符號; 取而代之的是實際貨幣的符號。 |
11 | X |
表示可以在字首或字尾中使用任何其他字元。 |
12 | ' |
用於參照字首或字尾中的特殊字元。 |
檔案:fmt_formatNumber.jsp -
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fmt:formatNumber範例</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<h3>Number Format:</h3>
<c:set var="balance" value="120000.2309" />
<p>
Formatted Number (1):
<fmt:formatNumber value="${balance}" type="currency" />
</p>
<p>
Formatted Number (2):
<fmt:formatNumber type="number" maxIntegerDigits="3"
value="${balance}" />
</p>
<p>
Formatted Number (3):
<fmt:formatNumber type="number" maxFractionDigits="3"
value="${balance}" />
</p>
<p>
Formatted Number (4):
<fmt:formatNumber type="number" groupingUsed="false"
value="${balance}" />
</p>
<p>
Formatted Number (5):
<fmt:formatNumber type="percent" maxIntegerDigits="3"
value="${balance}" />
</p>
<p>
Formatted Number (6):
<fmt:formatNumber type="percent" minFractionDigits="10"
value="${balance}" />
</p>
<p>
Formatted Number (7):
<fmt:formatNumber type="percent" maxIntegerDigits="3"
value="${balance}" />
</p>
<p>
Formatted Number (8):
<fmt:formatNumber type="number" pattern="###.###E0"
value="${balance}" />
</p>
<p>
Currency in USA :
<fmt:setLocale value="en_US" />
<fmt:formatNumber value="${balance}" type="currency" />
</p>
</div>
</body>
</html>
這將產生以下結果 -
Number Format:
Formatted Number (1): ¤ 120,000.23
Formatted Number (2): 000.231
Formatted Number (3): 120,000.231
Formatted Number (4): 120000.231
Formatted Number (5): 023%
Formatted Number (6): 12,000,023.0900000000%
Formatted Number (7): 023%
Formatted Number (8): 120E3
Currency in USA : $120,000.23