<fmt:formatNumber> 標簽

2018-08-26 16:24 更新

<fmt:formatNumber>標簽

<fmt:formatNumber>標簽用于格式化數(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>標簽有如下屬性:

屬性 描述 是否必要 默認值
value 要顯示的數(shù)字
type NUMBER,CURRENCY,或 PERCENT類型 Number
pattern 指定一個自定義的格式化模式用與輸出
currencyCode 貨幣碼(當type="currency"時) 取決于默認區(qū)域
currencySymbol 貨幣符號 (當 type="currency"時) 取決于默認區(qū)域
groupingUsed 是否對數(shù)字分組 (TRUE 或 FALSE) true
maxIntegerDigits 整型數(shù)最大的位數(shù)
minIntegerDigits 整型數(shù)最小的位數(shù)
maxFractionDigits 小數(shù)點后最大的位數(shù)
minFractionDigits 小數(shù)點后最小的位數(shù)
var 存儲格式化數(shù)字的變量 Print to page
scope var屬性的作用域 page

如果type屬性為percent或number,那么您就可以使用其它幾個格式化數(shù)字屬性。maxIntegerDigits屬性和minIntegerDigits屬性允許您指定整數(shù)的長度。若實際數(shù)字超過了maxIntegerDigits所指定的最大值,則數(shù)字將會被截斷。

有一些屬性允許您指定小數(shù)點后的位數(shù)。minFractionalDigits屬性和maxFractionalDigits屬性允許您指定小數(shù)點后的位數(shù)。若實際的數(shù)字超出了所指定的范圍,則這個數(shù)字會被截斷。

數(shù)字分組可以用來在每三個數(shù)字中插入一個逗號。groupingIsUsed屬性用來指定是否使用數(shù)字分組。當與minIntegerDigits屬性一同使用時,就必須要很小心地來獲取預(yù)期的結(jié)果了。

您或許會使用pattern屬性。這個屬性可以讓您在對數(shù)字編碼時包含指定的字符。接下來的表格中列出了這些字符。

符號 描述
0 代表一位數(shù)字
E 使用指數(shù)格式
# 代表一位數(shù)字,若沒有則顯示0
. 小數(shù)點
, 數(shù)字分組分隔符
; 分隔格式
- 使用默認負數(shù)前綴
% 百分數(shù)
? 千分數(shù)
¤ 貨幣符號,使用實際的貨幣符號代替
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>數(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>

運行結(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)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號