English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

<fmt:formatNumber>タグ

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属性の範囲 いいえ ページ

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>
<h2>数字フォーマット:</h2>
<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 标準タグライブラリ