数値フォーマッタ

Version 24.3.9106


数値フォーマッタ


一般的な数値フォーマッタ

以下のフォーマッタは、最も一般的な数値フォーマッタです。参考までに各フォーマッタの例を提供しています。

Note:一部のフォーマッタのオプションパラメータを囲う角括弧は、必須ではありません。これらは、パラメータがオプションであることを示すためにあります。

add(value)

入力属性 / 値を value パラメータに追加し、結果を返します。デフォルト値は1 です。

<!-- count the number of loops in an XML document using xmlDOMSearch -->

<arc:set attr="xml.uri" value="[FilePath]" />
<arc:set attr="xml.xpath" value="/Items/test/loop" />

<arc:call op="xmlDOMSearch" in="xml">
  <!-- this code executes for each occurrence of the 'xpath' in the XML document -->
  <arc:set attr="loopCount" value="[loopCount | def(0) | add(1)]" />
</arc:call>

greaterthan(value[, ifgreater][, ifnotgreater])

入力属性 / 値が value パラメータより大きい場合は true を返し、それ以外の場合は false を返します。

ifgreater が指定されている場合は、 true の代わりにその値が返され(入力が value より大きい場合)、 ifnotgreater が指定されている場合は、 false の代わりにその値が返されます(入力が value より大きくない場合)。

<arc:set attr="totalCost" value="[xpath(Items/Order/TotalCost)]" />
<arc:if exp="[totalCost | greaterthan(1000)]">
  <arc:set attr="highValueOrder" value="true" />
</arc:if>

lessthan(value[, ifless][, ifnotless])

入力属性 / 値が value パラメータより小さい場合は true を返し、それ以外の場合は false を返します。

ifless が指定されている場合は、 true の代わりにその値が返され(入力が value より小さい場合)、 ifnotless が指定されている場合は、 false の代わりにその値が返されます(入力が value より小さくない場合)。

<arc:set attr="totalCost" value="[xpath(Items/Order/TotalCost)]" />
<arc:if exp="[totalCost | lessthan(0)]">
  <arc:throw code="1" desc="ERROR: Invalid order total." />
</arc:if>

multiply(value)

入力属性 / 値と value パラメータを乗算し、結果を返します。

<!-- find the total cost by multiplying the price and the quantity of a purchased item -->
<arc:set attr="item.price" value="[xpath(lineitem/costperunit)]" />
<arc:set attr="item.quantity" value="[xpath(lineitem/quantitypurchased)]" />
<arc:set attr="item.totalcost" value="[item.price | multiply([item.quantity])]" />

rand(upperBound)

0 と upperBound の間のランダムな整数を生成します。

このフォーマッタは入力属性(変数)を変更しないため、入力属性は必要ありません。

<!-- add a random number to the end of a filename -->
<arc:set attr="myFilename" value="myfile-[rand(100000)].xml" />

その他の数値フォーマッタ

次のフォーマッタは、前のセクションで説明したものよりも一般的ではありません。

abs()

数値属性値の絶対値を返します。

and(value)

2つの値のAND を返します。両側の値は、1/0、yes/no、true/false である必要があります。

  • value:比較するboolean 値。

ceiling()

数値属性値以上で最小の整数を返します。

currency([integer_count])

通貨としてフォーマットされた数値を返します。

  • count:小数点以下の表示桁数を指定する数値(オプション)。デフォルトは2 です。

decimal([integer_count])

10進数としてフォーマットされた数値を、千、百万、などをカンマで区切って返します。

  • count:小数点以下の表示桁数を指定する数値(オプション)。デフォルトは2 です。

div([value])

数値属性値をパラメータの指定された値で除算した結果を返します。

  • value:数値属性値を除算する数値(オプション)。デフォルトは2 です。

divide([value])

数値属性値をパラメータの指定された値で除算した結果を返します。

  • value:数値属性値を除算する数値(オプション)。デフォルトは2 です。

expr(expression)

数式を評価します。

  • expression:式。

floor()

指定された数値属性値以下で最大の整数を返します。

format(pattern)

指定されたパターンとプラットフォームの動作に基づいて数値結果をフォーマットします。

  • pattern:使用するフォーマットのパターン。

<arc:set attr="tmp" value="$1,440.123" />
[tmp]
<br>
[tmp | format("#.##")]

$1,440.123 に設定されたtmp 属性は、format("#.##") フォーマッタを介して渡されます。結果は$1440.12 です。

<arc:set attr="rnd" value="1055.68" />
[rnd]
<br>
[rnd | format("#.#")]

1055.68 に設定されたrnd 属性は、format("#.#") フォーマッタを介して渡されます。結果は1055.7 です。

isbetween(integer_lowvalue, integer_highvalue[, ifbetween][, ifnotbetween])

属性値が、1つ目のパラメータ値以上で2つ目のパラメータ値以下の場合は true (または ifbetween )を返します。それ以外の場合は、 false (または ifnotbetween )を返します。

  • lowvalue:確認する範囲の下限。
  • highvalue:確認する範囲の上限。
  • ifbetween:属性値が1つ目のパラメータ値以上で、2つ目のパラメータ値以下の場合に返される値(オプション)。
  • ifnotbetween:属性値が1つ目のパラメータ値以下、または2つ目のパラメータ値以上の場合に返される値(オプション)。

isequal(value[, ifequal][, ifnotequal])

属性値がパラメータ値と等しい場合は true (または ifequal )を返します。それ以外の場合は、 false (または ifnotequal )を返します。

  • value:属性値と比較する数値。
  • ifequal:属性値がパラメータ値と等しい場合に返される値(オプション)。
  • ifnotequal:属性値がパラメータ値と等しくない場合に返される値(オプション)。

modulus(value)

数値属性値を指定されたパラメータ値で除算したモジュラスを返します。

  • value:属性値を除算する数値。

number(value[, format][, locale])

10進数としてフォーマットされた数値を返します。フォーマットとロケールを追加するオプションを提供します。

  • format:10進数形式(オプション)。デフォルトは#.00 です。次の特殊文字を使用できます:

    文字 説明
    0
    # 桁。0 は不在を示します
    . 小数点または通貨小数点
    - マイナス記号
    , グループセパレータ
  • locale:ロケール情報。デフォルトは不変のカルチャまたはロケールです。つまり、特定の国または地域には関連付けられていません。言語タグ(例えば、enfren-USen-INfr-FRzh-CN など)を許容します。

or(value)

2つの値のOR を返します。両側の値は、1/0、yes/no、true/false である必要があります。

  • value:比較するboolean 値。

percentage([integer_count])

パーセンテージとしてフォーマットされた数値を返します。

  • count:小数点以下の表示桁数を示す数値(オプション)。

pow([value])

パラメータ値で指定された指数で累乗された数値属性値を返します。

  • value:属性値を引き上げる指数(オプション)。デフォルトは2 です。

round([integer_value])

パラメータで指定された小数点以下の桁数に丸められた数値属性値を返します。

  • value:小数点以下の桁数(オプション)。デフォルトは2 です。

Note:使用される丸め戦略は、オペレーティングシステムによって異なります。.NET ではMidpoint Rounding を使用し、Java ではHalf Even を使用します。

sqrt()

数値属性値の平方根を返します。

subtract([value])

数値属性値とパラメータで指定された値の差を返します。

  • value:属性値を減算する数値(オプション)。デフォルト値は1 です。