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

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

JSTLの<fmt:parseNumber>タグは、数値パーセンテージ通貨などの文字列を解析(パース)し、プログラム内で扱える数値に変換するために使用します。ユーザーの入力値や外部データを数値として処理したい場合に非常に便利なタグです。

<fmt:parseNumber>タグの主な属性

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

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

pattern属性は、<fmt:formatNumber>タグのpattern属性とまったく同じように動作します。ただし、書式化ではなく解析を行う場合、pattern属性は「どのような形式の文字列を受け取るか」をパーサーに伝える役割を果たすという点に注意してください。

サンプルコード

ここでは、実際に<fmt:parseNumber>タグを使って数値を解析する例を見ていきましょう。

<%@ 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 = "number" value = "${balance}" />
      <p>解析結果 (1) : <c:out value = "${i}" /></p>
      <fmt:parseNumber var = "i" integerOnly = "true"
      type = "number" value = "${balance}" />
      <p>解析結果 (2) : <c:out value = "${i}" /></p>
   </body>
</html>

上記のコードを実行すると、次のような結果が出力されます。

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

実行結果のポイント

1つ目の出力では、type="number"を指定して文字列「1250003.350」をそのまま数値として解析しているため、「1250003.35」と表示されます。

一方、2つ目の出力ではintegerOnly="true"を指定しています。この場合、小数点以下は切り捨てられ、整数部分のみが抽出されて「1250003」と表示されます。金額の計算などで整数部分だけが必要な場面で活用できます。

なお、var属性を省略した場合、解析結果は変数に格納されず、ページに直接出力されます。用途に応じて使い分けるとよいでしょう。

  1. AndroidでHTMLを解析する方法!Jsoupを使った実装手順をステップごとに解説

    この記事では、AndroidアプリでHTMLを解析(パース)する方法を、人気のJavaライブラリ「Jsoup」を使ったサンプルコードとともに解説します。Webサイトのタイトルやリンク情報を取得して画面に表示するまでの一連の流れを、初心者にもわかるようにステップごとに紹介します。HTML解析にはJsoupが便利AndroidでHTMLを扱う場合、HTMLパーサーライブラリのJsoupを利用するのが定番です。Jsoupを使えば、URLからHTMLを取得し、CSSセレクタに近い直感的な記法で任意の要素を簡単に抽出できます。スクレイピングやWeb上のデータ取得処理を少ないコード量で実装できるのが大きな

  2. 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