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

JSPでパーセント(%)を解析するには?fmt:parseNumberタグの使い方

JSTLの<fmt:parseNumber>タグは、数値パーセント(%)通貨といった文字列を解析(パース)して、数値として取得するために使用します。

例えば「125.350%」のようなパーセント表記の文字列を、計算に使える数値へ変換したい場合に便利です。

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

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

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

pattern属性について

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

パーセント解析のサンプルコード

以下は、パーセント形式の文字列「125.350%」を<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 = "125.350%" />
      <fmt:parseNumber var = "i" type = "PERCENT" value = "${balance}" />
      <p>解析結果 (1) : <c:out value = "${i}" /></p>
      <fmt:parseNumber var = "i" integerOnly = "true" type = "PERCENT" value = "${balance}" />
      <p>解析結果 (2) : <c:out value = "${i}" /></p>
   </body>
</html>

このコードを実行すると、以下のような結果が出力されます。

数値の解析:
解析結果 (1) : 125.35
解析結果 (2) : 125

実行結果のポイント

  • 解析結果 (1):type属性に「PERCENT」を指定することで、「125.350%」という文字列からパーセント記号を除いた数値「125.35」が取得できます。
  • 解析結果 (2):integerOnly属性に「true」を指定しているため、小数点以下が切り捨てられ、整数「125」として解析されます。

このように、<fmt:parseNumber>タグとtype属性を組み合わせることで、JSP上でパーセント表記の文字列を簡単に数値へ変換できます。

  1. 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を

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

    <sql:update>タグは、データを返さないSQL文、つまりINSERT、UPDATE、DELETEなどのステートメントを実行するために使用されるタグです。 sql:updateタグの属性 <sql:update>タグには、以下の属性が用意されています。 属性説明必須デフォルト値 sql実行するSQLコマンド(ResultSetを返してはいけません)いいえタグのボディ dataSource使用するデータベース接続(デフォルト設定を上書きします)いいえデフォルトのデータベース var影響を受けた行数を格納する変数の名前いいえなし scope影響を受けた行数を