<fmt:formatNumber>標(biāo)簽用于格式化數(shù)字,百分比,貨幣。
<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>標(biāo)簽有如下屬性:
屬性 | 描述 | 是否必要 | 默認(rèn)值 |
---|---|---|---|
value | 要顯示的數(shù)字 | 是 | 無(wú) |
type | NUMBER,CURRENCY,或 PERCENT類型 | 否 | Number |
pattern | 指定一個(gè)自定義的格式化模式用與輸出 | 否 | 無(wú) |
currencyCode | 貨幣碼(當(dāng)type="currency"時(shí)) | 否 | 取決于默認(rèn)區(qū)域 |
currencySymbol | 貨幣符號(hào) (當(dāng) type="currency"時(shí)) | 否 | 取決于默認(rèn)區(qū)域 |
groupingUsed | 是否對(duì)數(shù)字分組 (TRUE 或 FALSE) | 否 | true |
maxIntegerDigits | 整型數(shù)最大的位數(shù) | 否 | 無(wú) |
minIntegerDigits | 整型數(shù)最小的位數(shù) | 否 | 無(wú) |
maxFractionDigits | 小數(shù)點(diǎn)后最大的位數(shù) | 否 | 無(wú) |
minFractionDigits | 小數(shù)點(diǎn)后最小的位數(shù) | 否 | 無(wú) |
var | 存儲(chǔ)格式化數(shù)字的變量 | 否 | Print to page |
scope | var屬性的作用域 | 否 | page |
如果type屬性為percent或number,那么您就可以使用其它幾個(gè)格式化數(shù)字屬性。maxIntegerDigits屬性和minIntegerDigits屬性允許您指定整數(shù)的長(zhǎng)度。若實(shí)際數(shù)字超過(guò)了maxIntegerDigits所指定的最大值,則數(shù)字將會(huì)被截?cái)唷?/p>
有一些屬性允許您指定小數(shù)點(diǎn)后的位數(shù)。minFractionalDigits屬性和maxFractionalDigits屬性允許您指定小數(shù)點(diǎn)后的位數(shù)。若實(shí)際的數(shù)字超出了所指定的范圍,則這個(gè)數(shù)字會(huì)被截?cái)唷?/p>
數(shù)字分組可以用來(lái)在每三個(gè)數(shù)字中插入一個(gè)逗號(hào)。groupingIsUsed屬性用來(lái)指定是否使用數(shù)字分組。當(dāng)與minIntegerDigits屬性一同使用時(shí),就必須要很小心地來(lái)獲取預(yù)期的結(jié)果了。
您或許會(huì)使用pattern屬性。這個(gè)屬性可以讓您在對(duì)數(shù)字編碼時(shí)包含指定的字符。接下來(lái)的表格中列出了這些字符。
符號(hào) | 描述 |
---|---|
0 | 代表一位數(shù)字 |
E | 使用指數(shù)格式 |
# | 代表一位數(shù)字,若沒(méi)有則顯示0 |
. | 小數(shù)點(diǎn) |
, | 數(shù)字分組分隔符 |
; | 分隔格式 |
- | 使用默認(rèn)負(fù)數(shù)前綴 |
% | 百分?jǐn)?shù) |
? | 千分?jǐn)?shù) |
¤ | 貨幣符號(hào),使用實(shí)際的貨幣符號(hào)代替 |
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 標(biāo)簽</title> </head> <body> <h3>數(shù)字格式化:</h3> <c:set var="balance" value="120000.2309" /> <p>格式化數(shù)字 (1): <fmt:formatNumber value="${balance}" type="currency"/></p> <p>格式化數(shù)字 (2): <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" /></p> <p>格式化數(shù)字 (3): <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" /></p> <p>格式化數(shù)字 (4): <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" /></p> <p>格式化數(shù)字 (5): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p> <p>格式化數(shù)字 (6): <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" /></p> <p>格式化數(shù)字 (7): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p> <p>格式化數(shù)字 (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>
運(yùn)行結(jié)果如下:
數(shù)字格式化: 格式化數(shù)字 (1): ¥120,000.23 格式化數(shù)字 (2): 000.231 格式化數(shù)字 (3): 120,000.231 格式化數(shù)字 (4): 120000.231 格式化數(shù)字 (5): 023% 格式化數(shù)字 (6): 12,000,023.0900000000% 格式化數(shù)字 (7): 023% 格式化數(shù)字 (8): 120E3 美元 : $120,000.23
更多建議: