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屬性為百分比或數字,則可以使用多個數字格式化屬性。maxIntegerDigitsminIntegerDigits屬性允許您指定數字非小數部分的大小。如果實際數字超過maxIntegerDigits,則數字將被截斷。

  • 還提供屬性來確定應使用多少位小數。minFractionalDigitsmaxFractionalDigits屬性允許您指定小數位數。如果數字超過最大小數位數,則數字將被四捨五入。

  • 可以使用分組在千位分組之間插入逗號。透過將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

jsp_standard_tag_library.htm
廣告