<fmt:formatNumber>標籤
<fmt:formatNumber>標籤用於格式化數字,百分比,貨幣。
語法格式
<fmt:formatNumber value="<string>" type="<string>" pattern="<string>" currencyCode="<string>" currencySymbol="<string>" groupingUsed="<string>" maxIntegerDigits="<string>" minIntegerDigits="<string>" maxFractionDigits="<string>" minFractionDigits="<string>" var="<string>" scope="<string>"/>
屬性
<fmt:formatNumber>標籤有如下屬性:
| 屬性 | 描述 | 是否必要 | 默認值 |
|---|---|---|---|
| value | 要顯示的數字 | 是 | 無 |
| type | NUMBER,CURRENCY,或 PERCENT類型 | 否 | Number |
| pattern | 指定一個自定義的格式化模式用與輸出 | 否 | 無 |
| currencyCode | 貨幣碼(當type="currency"時) | 否 | 取決於默認區域 |
| currencySymbol | 貨幣符號 (當 type="currency"時) | 否 | 取決於默認區域 |
| groupingUsed | 是否對數字分組 (TRUE 或 FALSE) | 否 | true |
| maxIntegerDigits | 整型數最大的位數 | 否 | 無 |
| minIntegerDigits | 整型數最小的位數 | 否 | 無 |
| maxFractionDigits | 小數點後最大的位數 | 否 | 無 |
| minFractionDigits | 小數點後最小的位數 | 否 | 無 |
| var | 存儲格式化數字的變數 | 否 | Print to page |
| scope | var屬性的作用域 | 否 | page |
如果type屬性為percent或number,那麼您就可以使用其他幾個格式化數字屬性。maxIntegerDigits屬性和minIntegerDigits屬性允許您指定整數的長度。若實際數字超過了maxIntegerDigits所指定的最大值,則數字將會被截斷。
有一些屬性允許您指定小數點後的位數。minFractionalDigits屬性和maxFractionalDigits屬性允許您指定小數點後的位數。若實際的數字超出了所指定的範圍,則這個數字會被截斷。
數字分組可以用來在每三個數字中插入一個逗號。groupingIsUsed屬性用來指定是否使用數字分組。當與minIntegerDigits屬性一同使用時,就必須要很小心地來獲取預期的結果了。
您或許會使用pattern屬性。這個屬性可以讓您在對數字編碼時包含指定的字元。接下來的表格中列出了這些字元。
| 符號 | 描述 |
|---|---|
| 0 | 代表一位數字 |
| E | 使用指數格式 |
| # | 代表一位數字,若沒有則顯示 0,前導 0 和追尾 0 不顯示。 |
| . | 小數點 |
| , | 數字分組分隔符號 |
| ; | 分隔格式 |
| - | 使用默認負數首碼 |
| % | 百分數 |
| ? | 千分數 |
| ¤ | 貨幣符號,使用實際的貨幣符號代替 |
| X | 指定可以作為首碼或尾碼的字元 |
| ' | 在前綴或尾碼中引用特殊字元 |
實例演示
<%@ 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" %>
<html>
<head>
<title>JSTL fmt:formatNumber 標籤</title>
</head>
<body>
<h3>數字格式化:</h3>
<c:set var="balance" value="120000.2309" />
<p>格式化數字 (1): <fmt:formatNumber value="${balance}"
type="currency"/></p>
<p>格式化數字 (2): <fmt:formatNumber type="number"
maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化數字 (3): <fmt:formatNumber type="number"
maxFractionDigits="3" value="${balance}" /></p>
<p>格式化數字 (4): <fmt:formatNumber type="number"
groupingUsed="false" value="${balance}" /></p>
<p>格式化數字 (5): <fmt:formatNumber type="percent"
maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化數字 (6): <fmt:formatNumber type="percent"
minFractionDigits="10" value="${balance}" /></p>
<p>格式化數字 (7): <fmt:formatNumber type="percent"
maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化數字 (8): <fmt:formatNumber type="number"
pattern="###.###E0" value="${balance}" /></p>
<p>美元 :
<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="${balance}" type="currency"/></p>
</body>
</html>
運行結果如下:
數字格式化: 格式化數字 (1): ¥120,000.23 格式化數字 (2): 000.231 格式化數字 (3): 120,000.231 格式化數字 (4): 120000.231 格式化數字 (5): 023% 格式化數字 (6): 12,000,023.0900000000% 格式化數字 (7): 023% 格式化數字 (8): 120E3 美元 : $120,000.23

JSP 標準標籤庫