
- JSP基礎教程
- JSP - 首頁
- JSP - 概述
- JSP - 環境搭建
- JSP - 架構
- JSP - 生命週期
- JSP - 語法
- JSP - 指令
- JSP - 動作
- JSP - 隱式物件
- JSP - 客戶端請求
- JSP - 服務端響應
- JSP - HTTP狀態碼
- JSP - 表單處理
- JSP - 編寫過濾器
- JSP - Cookie處理
- JSP - Session跟蹤
- JSP - 檔案上傳
- JSP - 日期處理
- JSP - 頁面重定向
- JSP - 點選計數器
- JSP - 自動重新整理
- JSP - 傳送郵件
- JSP高階教程
- JSP - 標準標籤庫
- JSP - 資料庫訪問
- JSP - XML資料
- JSP - JavaBean
- JSP - 自定義標籤
- JSP - 表示式語言
- JSP - 異常處理
- JSP - 除錯
- JSP - 安全性
- JSP - 國際化
- JSP有用資源
- JSP - 問答
- JSP - 快速指南
- JSP - 有用資源
- JSP - 討論
JSTL - Core <fmt:formatNumber> 標籤
<fmt:formatNumber> 標籤用於格式化數字、百分比和貨幣。
屬性
<fmt:formatNumber> 標籤具有以下屬性:
屬性 | 描述 | 必需 | 預設值 |
---|---|---|---|
值 | 要顯示的數值 | 是 | 無 |
type | NUMBER、CURRENCY或PERCENT | 否 | Number |
pattern | 指定輸出的自定義格式模式。 | 否 | 無 |
currencyCode | 貨幣程式碼 (對於 type = "currency") | 否 | 來自預設區域設定 |
currencySymbol | 貨幣符號 (對於 type = "currency") | 否 | 來自預設區域設定 |
groupingUsed | 是否對數字進行分組 (TRUE 或 FALSE) | 否 | true |
maxIntegerDigits | 要列印的整數位數的最大值 | 否 | 無 |
minIntegerDigits | 要列印的整數位數的最小值 | 否 | 無 |
maxFractionDigits | 要列印的小數位數的最大值 | 否 | 無 |
minFractionDigits | 要列印的小數位數的最小值 | 否 | 無 |
var | 用於儲存格式化數字的變數的名稱 | 否 | 列印到頁面 |
scope | 用於儲存格式化數字的變數的作用域 | 否 | page |
如果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 | ' 用於在字首或字尾中引用特殊字元。 |
示例
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %> <html> <head> <title>JSTL fmt:formatNumber Tag</title> </head> <body> <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> </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