<fmt:formatNumber>タグ
<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 標準タグライブラリ