エンジニアの雲日記

Javaの勉強中やで〜

JSTLのi18n(国際化)タグライブラリで数値を整形する!

JSTLi18n(国際化)タグライブラリで、数値を桁区切りや通貨形式に**整形(フォーマット)**するために使うタグは、これや!


<fmt:formatNumber>

 


🌎 <fmt:formatNumber> で数値を見やすく整形するんや!


JSTLのこのライブラリは

i18n(Internationalization=国際化)」と

L10n(Localization=地域化)」

の機能をまとめてるんや。


国や地域によって、日付の書き方や通貨の単位、数字の区切り方って違うやろ?

 

この違いに対応するために使うのが、このタグライブラリなんやで!


最初にこのタグライブラリを使うための宣言が必要やから、忘れずにな!


<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

 

📝 formatNumber タグの基本的な使い方


<fmt:formatNumber>タグは、EL式で渡された数字を、めっちゃ見やすい形式に変換してくれるんや。


1. 通貨形式に整形する

お金の数字を扱うときに使うで。


<c:set var="price" value="1250000" />

<p>価格: <fmt:formatNumber value="${price}" type="currency" currencySymbol="¥" /></p>

 

| 属性名 | 意味 |
|---|---|


| value | フォーマットしたい数値や。EL式で渡すで。 |


| type | どんな形式にしたいか。currency(通貨)を指定する。 |


| currencySymbol | 使う通貨記号を指定する。 |

 

2. 桁区切り(グループ化)に整形する
ただの大きな数字を、3桁ごとにコンマで区切って見やすくするんや。


<c:set var="population" value="127000000" />

<p>人口: <fmt:formatNumber value="${population}" type="number" groupingUsed="true" /></p>

 

| 属性名 | 意味 |
|---|---|


| type | number(一般的な数値)を指定する。 |

| groupingUsed | true にすると、3桁ごとに**桁区切り(コンマ)**を入れてくれるんや! |

 


💡 i18nライブラリの他の重要なタグ


このi18nタグライブラリには、日付を整形するタグもあって、これらもセットでめっちゃ重要やで!


| タグ名 | 役割 |
|---|---|


| <fmt:formatDate> | 日付や時刻を、国や地域に応じた形式に整形する。 |


| <fmt:setTimeZone> | 表示する**タイムゾーン(時間帯)**を設定する。 |


| <fmt:setLocale> | **言語や地域(ロケール)**を設定する。 |


これらのタグを使うと、同じJSPファイルでも、アクセスしてきたユーザーの国籍に合わせて、自動で「1,250,000」って表示したり、「1.250.000 €」って表示したりできるんや!

 

めっちゃスマートやろ!👍


これで、JSTLの基本的なタグはほぼマスターやで!

 

おつかれさん!!