<fmt:formatNumber> 標(biāo)簽

2018-08-26 16:24 更新

<fmt:formatNumber>標(biāo)簽

<fmt:formatNumber>標(biāo)簽用于格式化數(shù)字,百分比,貨幣。

語(yǔ)法格式

<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 指定可以作為前綴或后綴的字符
' 在前綴或后綴中引用特殊字符


實(shí)例演示

<%@ 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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)