プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

JSPで通貨や数値を解析するには?fmt:parseNumberタグの使い方


<fmt:parseNumber>タグは、JSTL(JSP Standard Tag Library)のフォーマットライブラリに含まれるタグの一つで、数値パーセント通貨といった文字列を解析(パース)して、プログラムで扱える数値型の値に変換するために使用します。

主な属性一覧

<fmt:parseNumber>タグには、以下の属性が用意されています。

属性説明必須デフォルト値
value読み取る(解析対象の)数値いいえタグのボディ
typeNUMBER(数値)、CURRENCY(通貨)、PERCENT(パーセント)のいずれかいいえnumber
parseLocale数値の解析時に使用するロケールいいえデフォルトのロケール
integerOnly整数として解析する場合はtrue、浮動小数点数として解析する場合はfalseいいえfalse
patternカスタムの解析パターンいいえなし
timeZone表示する日付のタイムゾーンいいえデフォルトのタイムゾーン
var解析結果の数値を格納する変数名いいえページに直接出力
scope解析結果を格納する変数のスコープいいえpage

pattern属性は、<fmt:formatNumber>タグのpattern属性と同じように動作します。ただし、解析(パース)の場合は、パーサーに対して「どのような形式の文字列を受け取るか」を指定する役割を持つ点に注意してください。たとえば「#,##0.00」のようなパターンを指定することで、カンマ区切りの金額文字列を正しく解析できます。

使用例

以下は、通貨形式の文字列「$1250003.350」を解析するサンプルコードです。

<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "fmt" uri = "https://java.sun.com/jsp/jstl/fmt" %>
<html>
   <head>
      <title>JSTL fmt:parseNumber タグ</title>
   </head>
   <body>
      <h3>数値の解析:</h3>
      <c:set var = "balance" value = "$1250003.350" />
      <fmt:parseNumber var = "i" type = "currency" value = "${balance}" />
      <p>解析結果 (1) : <c:out value = "${i}" /></p>
      <fmt:parseNumber var = "i" integerOnly = "true" type = "currency" value = "${balance}" />
      <p>解析結果 (2) : <c:out value = "${i}" /></p>
   </body>
</html>

このコードでは、まずタグで変数balanceに通貨形式の文字列を設定し、タグのtype属性に「currency」を指定して解析しています。1つ目の出力では小数部も含めて解析され、2つ目の出力ではintegerOnly属性に「true」を指定しているため、小数部が切り捨てられた整数値が取得されます。

上記のコードを実行すると、以下の結果が出力されます。

数値の解析:
解析結果 (1) : 1250003.35
解析結果 (2) : 1250003

ポイントまとめ

  • type属性に「currency」を指定すると、通貨記号付きの文字列を数値として解析できます。
  • integerOnly属性を「true」にすると、小数部を無視した整数値だけを取得できます。
  • var属性を指定しない場合、解析結果はそのままページに出力されます。
  • ロケールによって通貨記号や区切り文字の扱いが異なるため、必要に応じてparseLocale属性を指定しましょう。

  1. JSPでXMLを解析する方法|JSTL x:parseタグの使い方を徹底解説

    <x:parse>タグは、属性で指定されたXMLデータ、またはタグ本体に記述されたXMLデータを解析(パース)するために使用します。JSTL(JSP Standard Tag Library)のXMLタグライブラリに属するタグで、Javaコードを直接書かずにJSP上でXMLを処理できるのが大きな特徴です。 x:parseタグの主な属性 <x:parse>タグには、以下の属性が用意されています。 属性説明必須デフォルト値var解析結果のXMLデータを格納する変数いいえなしxml解析対象のドキュメント本文(String型またはReader型)いいえタグ本体systemId

  2. JSPでSQLのDELETE文を実行する方法|JSTL sql:updateタグの使い方

    JSTLの<sql:update>タグとは<sql:update>タグは、結果セット(ResultSet)を返さないSQL文、たとえばINSERT・UPDATE・DELETEなどのステートメントを実行するためのJSTLタグです。この記事では、JSPページから<sql:update>タグを使ってDELETE文を実行し、テーブルのレコードを削除する手順を解説します。<sql:update>タグの主な属性<sql:update>タグには、以下の属性が用意されています。属性説明必須デフォルト値sql実行するSQLコマンド(ResultSetを