JSTLリファレンス(逆引き)

JSPリファレンス
 
Web struts.wasureppoi.com
数値データを指定フォーマットで出力する:<fmt:formatNumber>
スポンサード リンク

数値データを指定フォーマットで出力するには、<fmt:formatNumber>タグを使用します。

<fmt:formatNumber>タグは、J2SEの、java.text.DecimalFormatに相当する機能になります。

<fmt:formatNumber>タグの属性
属性 必須 説明
value × フォーマット変換する数値データ
var × フォーマット変換した数値データを格納する変数
type × 数値データの種別を「NUMBER」「CURRENCY」「PERCENT」から指定。
デフォルトは「NUMBER」
pattern × 出力するフォーマットを直接指定する。
指定可能なパターンは、下記の表「指定可能なパターン」を参照する。

pattern属性は、以下の属性で指定できない場合などにフォーマットを直接指定する
「currencyCode」「currencySymbol」「groupingUsed」
「maxIntegerDigits」「minIntegerDigits」「maxFractionDigits」
「minFractionDigits」
currencyCode × 通貨コードを「JPY」「USD」「EUR」などから指定
currencySymbol × 通貨記号を「\」「$」「£」などから指定
groupingUsed × カンマ「,」を使用して、桁区切りするかどうか(true/false)。デフォルトはtrue
maxIntegerDigits × 整数部分の最大桁数
minIntegerDigits × 整数部分の最小桁数
maxFractionDigits × 少数部分の最大桁数
minFractionDigits × 少数部分の最小桁数
scope × varで指定した変数を格納するスコープ「page、request、session、application」を指定する。 デフォルトはpageスコープ

指定可能なパターン
パターン 説明
0 数値。ゼロの場合も表示する。
# 数値。ゼロの場合は、非表示。
- マイナス記号
,(カンマ) 数値の桁数区切り(3桁ごとのグループ区切りなど)
.(ピリオド) 数値の桁区切り(小数点など)
'(シングルクオート) 特殊文字を出力したい場合に、特殊文字を囲む
例) 「'#'#」と指定した場合、 0100 → #100 と変換される
% 100倍してパーセントに変換する
\u2030 1000 倍してパーミル値に変換する
\u00A4 通貨記号で置換される通貨符号。
E 科学表記法の仮数と指数を区切る。
;(セミコロン) 正と負のサブパターンを区切る


例1) pattern属性を直接指定してフォーマット変換する。

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<html><body>

<fmt:formatNumber value="1234" pattern="###,###" /><br>

<fmt:formatNumber value="1234" pattern="-###,###" /><br>

<%-- 桁数合わせでゼロを表示させる --%>
<fmt:formatNumber value="12.34" pattern="000.000" /><br>

<%-- パーセント変換 --%>
<fmt:formatNumber value="0.278" pattern="##.#%" /><br>

<%-- セミコロンを指定し、正と負の場合の変換方法を指定 --%>
<fmt:formatNumber value="-100" pattern="△###;▼###" /><br>
<fmt:formatNumber value="100" pattern="△###;▼###" /><br>

</body></html>


実行結果



スポンサード リンク


例2) 最大桁数を直接指定してフォーマット変換する。

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<html><body>

<fmt:formatNumber value="123456" /><br>

<%-- カンマ区切りで表示させない --%>
<fmt:formatNumber value="123456" groupingUsed="false" /><br>

<%-- 最大桁数/最小桁数を指定 --%>
<fmt:formatNumber value="1234.5678"
   maxIntegerDigits="5" minIntegerDigits="5"
   maxFractionDigits="5" minFractionDigits="0" /><br>

<%-- 通貨記号を先頭に付ける指定 --%>
<fmt:formatNumber value="123456"
    type="CURRENCY" currencySymbol="$" /><br>

</body></html>


実行結果

※最小桁数「maxFractionDigits="5"」より少ない場合、ゼロが埋められる


例3) フォーマット変換する数値をタグ本体にする。

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<html><body>

<fmt:formatNumber >
123456
</fmt:formatNumber><br>

</body></html>

実行結果


スポンサード リンク

il8nタグの種類
数値データを指定フォーマットで出力する:<fmt:formatNumber>
日付データを指定フォーマットで出力する:<fmt:formatDate>
文字列を数値データに変換する:<fmt:parseNumber>
文字列を日付データに変換する:<fmt:parseDate>
リソースメッセージを取得する1:<fmt:setBundle><fmt:message>
リソースメッセージを取得する2:<fmt:bundle><fmt:message>
リクエストの文字エンコーディングをセットする:<fmt:requestEncording>
ロケールをセットする:<fmt:setLocale>
タイムゾーンを設定する1:<fmt:setTimeZone>
タイムゾーンを設定する2:<fmt:timeZone>

JSTLへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ