<fmt:formatNumber>タグ

JSP 标准标签库JSP 標準タグライブラリ

<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属性は、小数点以下の桁数を指定できます。実際の数値が指定された範囲を超えると、その数値は切り詰められます。

数字のグループ化は、3桁ごとにカンマを挿入するために使用できます。groupingIsUsed属性は、数字のグループ化を使用するかどうかを指定します。minIntegerDigits属性と一緒に使用する場合は、期待どおりの結果を得るために注意が必要です。

pattern属性を使用することもできます。この属性を使用すると、数値をエンコードする際に指定した文字を含めることができます。次の表にこれらの文字を示します。

記号 説明
0 1桁の数字を表します
E 指数形式を使用します
# 1桁の数字を表し、ない場合は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 标准标签库JSP 標準タグライブラリ

その他の拡張