Skip to main content

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

以下のフォーマッタは、最も一般的な数値フォーマッタです。参考までに各フォーマッタの例を提供しています。
一部のフォーマッタのオプションパラメータを囲う角括弧は、必須ではありません。これらは、パラメータがオプションであることを示すためにあります。

add(value)

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

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

入力属性 / 値が value パラメータより大きい場合は true を返し、それ以外の場合は false を返します。 ifgreater が指定されている場合は、 true の代わりにその値が返され(入力が value より大きい場合)、 ifnotgreater が指定されている場合は、 false の代わりにその値が返されます(入力が value より大きくない場合)。

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

入力属性 / 値が value パラメータより小さい場合は true を返し、それ以外の場合は false を返します。 ifless が指定されている場合は、 true の代わりにその値が返され(入力が value より小さい場合)、 ifnotless が指定されている場合は、 false の代わりにその値が返されます(入力が value より小さくない場合)。

multiply(value)

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

rand(upperBound)

0 と upperBound の間のランダムな整数を生成します。 このフォーマッタは入力属性(変数)を変更しないため、入力属性は必要ありません。

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

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

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)

自由形式の数式または論理式を評価し、その結果を返します。lessthan()isequal() のような単一演算のフォーマッタとは異なり、expr() は標準的な比較演算子と論理演算子を直接受け入れるため、複合条件や複数変数の比較に適した方法となります。
  • expression:自由形式の式。

サポートされる演算子

  1. <= チェックにおける、連結フォーマッタとexpr() の同等のアプローチ
    想定される出力 order_fulfillment_result.txt という名前のファイルがcanFulfill=true という内容で書き込まれ、送信メッセージヘッダーX-Can-Fulfilltrue に設定されます。
  2. >= のチェック
    想定される出力
    • score >= minimum: true
    • score >= target: true
    • score >= stretch: false
  3. 複数変数を用いた複合条件
    想定される出力 priceValid = true
  4. XML 入力ファイルからの値の読み取り Script コネクタが受信メッセージを処理する際、メッセージ本文は[FilePath] を介して利用できます。以下の例は、その入力を開き、xpath() を使って値を読み取り、それらの値をexpr() で評価する方法を示しています。次の入力メッセージが与えられた場合:
    このスクリプトはそれらの値を読み取り、注文を満たせるかどうかを評価します:
    想定される出力 canFulfill = true
算術演算子または数値比較演算子を使用する場合、式の中で参照される属性には数値が含まれている必要があります。数値以外の文字列は予期しない結果を生む可能性があります。

floor()

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

format(pattern)

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

$1,440.123 に設定されたtmp 属性は、format("#.##") フォーマッタを介して渡されます。結果は**$1440.12** です。
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 です。次の特殊文字を使用できます:
  • 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 です。
  • rounding_mode:精度を破棄できる数値演算の丸め処理の動作を指定します。許容される値はDefaultToEvenAwayFromZeroToZeroToNegativeInfinityToPositiveInfinity です。デフォルトで使用される丸め戦略は、オペレーティングシステムによって異なります。.NET ではToEven を使用し、Java ではHalf Even を使用します。
また、RoundingMode グローバル環境変数を指定し、その値としてrounding_mode の値のいずれかを指定することもできます。これを行うと、フォーマッタでrounding_mode が明示的に指定されていない場合、 は常にその丸めモードを使用します。具体的には、 は以下の順序で値をチェックします:
  1. rounding_mode 入力
  2. RoundingMode 環境変数
  3. 前述したとおりのオペレーティングシステムによって決定されるデフォルト

sqrt()

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

subtract([value])

数値属性値とパラメータで指定された値の差を返します。
  • value:属性値を減算する数値(オプション)。デフォルト値は1 です。