数値の formula ​

Ruby では、Fixnum は9、10、11などの整数を表し、Float は1.75などの小数を表します。

Workato では、さまざまな数値の formula をサポートしています。Workato の formula は、ホワイトリストで許可された Ruby メソッドです。したがって、すべての Ruby メソッドがサポートされているわけではありません。その他の formula をホワイトリストに追加したい場合は、いつでも弊社までご連絡ください。これらの formula の構文と機能は、基本的に変更されません。present?、presence、blank? を除く大部分の formula は、null (Ruby では nil で表されます) を処理しようとするとエラーを返し、ジョブを停止することに注意してください。

Fixnum (整数) に関する Ruby の詳細なドキュメントはこちらを、Float (小数) に関する Ruby のドキュメントはこちらを参照してください。

算術演算 ​

算術演算では、値が整数型か小数型 (浮動小数) のどちらであるかが重要になります。formula は常に、入力データとして与えられた型を保持しながら処理を行います。また、返される結果は、最も精度の高い型となります。

例:

  • 整数値が与えられると、整数値が返されます。
  • 浮動小数値が与えられると、浮動小数値が返されます。
  • 浮動小数値と整数値の両方が与えられると、浮動小数値が返されます。これは浮動小数値のほうが精度が高いためです。

加算 (+) 演算子 ​

この演算子は、両側のオペランドを加算できます。このセクションでは、数値演算について説明します。日付の計算も行えますが、それについてはこちらを参照してください。

使用例 ​

formula結果型
4 + 711Fixnum
4.0 + 711.0Float
4.0 + 7.011.0Float

減算 (-) 演算子 ​

この演算子は、左側のオペランドから右側のオペランドを減算します。このセクションでは、数値演算について説明します。日付の計算も行えますが、それについてはこちらを参照してください。

使用例 ​

formula結果型
4 - 7-3Fixnum
4.0 - 7-3.0Float
4.0 - 7.0-3.0Float

乗算 (*) 演算子 ​

この演算子は、両側のオペランドを乗算します。

使用例 ​

formula結果型
4 * 728Fixnum
4.0 * 728.0Float
4.0 * 7.028.0Float

除算 (/) 演算子 ​

左側のオペランドを右側のオペランドで除算します。

使用例 ​

formula結果型
4 / 70Fixnum
4.0 / 70.571428...Float
7 / 41Fixnum
7 / 4.01.75Float
7.0 / 41.75Float
7.0 / 4.01.75Float

指数 (**) 演算子 ​

左側のオペランドを右側のオペランドでべき乗します。

使用例 ​

formula結果型
5**3125Fixnum
4**1.58.0Float
4.0**216.0Float
3**-1"1/3"Rational
8**(3**-1)2.0Float
7**-1.60.044447...Float

剰余 (%) 演算子 ​

左側のオペランドを右側のオペランドで除算し、余りを返します。

使用例 ​

formula結果型
4 % 74Fixnum
4.0 % 74.0Float
4 % 7.04.0Float
7 % 43Fixnum
7.0 % 4.03.0Float

その他の数値の formula ​

abs ​

数値の絶対値 (正) を返します。

構文 ​

number.abs

  • number - 入力される整数または浮動小数。

使用例 ​

formula結果
45.abs45
-45.abs45
45.67.abs45.67
-45.67.abs45.67

round ​

数値を四捨五入します。指定された小数点以下の桁数を持つ値を返します。

構文 ​

number.round(offset)

  • number - 入力される整数または浮動小数。
  • offset - (任意) 戻り値の小数点以下の桁数。負の数を指定できます。指定されていない場合、小数点以下の桁のない数値を返します。

使用例 ​

formula結果
1234.567.round1235
1234.567.round(2)1234.57
1234.567.round(-2)1230

条件 ​

blank? ​

この formula は入力データをチェックし、それが数値ではない場合、または null の場合に true を返します。

構文 ​

Input.blank?

  • Input - 入力データピル。利用できるデータ型には、文字列や数値、日付、日時があります。

使用例 ​

formula結果
123.blank?false
0.blank?false
nil.blank?true
"".blank?true

動作 ​

入力データが null または空の文字列の場合、true を返します。他のデータの場合は false を返します。

関連情報 ​

  • presence: データが存在する場合は、そのデータを返し、存在しない場合は nil を返します。
  • present?: 有効な入力データがある場合に、true を返します。

even? ​

整数の入力データをチェックし、偶数の場合は true を返します。

構文 ​

integer.even?

  • integer - 入力される整数。

使用例 ​

formula結果
123.even?false
1234.even?true

関連情報 ​

  • odd?: 整数の入力データをチェックし、奇数の場合は true を返します。

odd? ​

整数の入力データをチェックし、奇数の場合は true を返します。

構文 ​

integer.odd?

  • integer - 入力される整数。

使用例 ​

formula結果
123.odd?true
1234.odd?false

関連情報 ​

  • even?: 整数の入力データをチェックし、偶数の場合は true を返します。

present? ​

この formula は入力データをチェックし、値が存在する場合は true を返します。入力データが nil、ブール値の false、空の文字列、または空のリストの場合、この formula は false を返します。

構文 ​

Input.present?

  • Input - 入力データピル。利用できるデータ型には、文字列や数値、日付、リストがあります。

使用例 ​

formula結果
"Any Value".present?true
123.present?true
0.present?true
"2017-04-02T12:30:00.000000-07:00".present?true
nil.present?false
"".present?false
[].present?false

動作 ​

入力データが null、空の文字列、または空のリストの場合、この formula は false を返します。他のデータの場合は true を返します。

nil 値を含むリストの評価

  • 空のリストの場合のみ、false が返されます。

[].present? は false を返します。

  • nil や空の文字列を含むリストの場合は、true が返されます。

[nil,""].present? は true を返します。

関連情報 ​

  • presence: データが存在する場合は、そのデータを返し、存在しない場合は nil を返します。
  • blank?: データが存在しないか、文字列が空白のみで構成されている場合に、nil を返します。

presence ​

データが存在する場合は、そのデータを返し、存在しない場合は nil を返します。

構文 ​

Input.presence

  • Input - 入力データピル。利用できるデータ型には、文字列や数値、日付、日時があります。

使用例 ​

formula結果
nil.presencenil
"".presencenil
"Any Value".presence"Any Value"
45.0.presence45.0
0.presence0

動作 ​

入力データが null または空の文字列の場合、この formula は nil を返します。その他のデータの場合、元の入力データを返します。

関連情報 ​

  • blank?: データが存在しないか、文字列が空白のみで構成されている場合に、nil を返します。
  • present?: 有効な入力データがある場合に、true を返します。

変換 ​

ceil ​

入力された数値を、次の大きい整数または浮動小数に丸めます。小数点以下の精度を指定できます。

構文 ​

number.ceil(precision)

  • number - 入力される整数または浮動小数。
  • precision - (任意) 戻り値の小数点以下の桁数。負の数を指定できます。指定されていない場合、小数点以下の桁のない数値を返します。

使用例 ​

formula結果
1234.567.ceil1235
-1234.567.ceil-1234
1234.567.ceil(2)1234.57
1234.567.ceil(-2)1300

floor ​

入力された数値を、次の小さい整数または浮動小数に丸めます。小数点以下の精度を指定できます。

構文 ​

number.floor(precision)

  • number - 入力される整数または浮動小数。
  • precision - (任意) 戻り値の小数点以下の桁数。負の数を指定できます。指定されていない場合、小数点以下の桁のない数値を返します。

使用例 ​

formula結果
1234.567.floor1234
-1234.567.floor-1235
1234.567.floor(2)1234.56
1234.567.floor(-2)1200

to_f ​

データを浮動小数点 (数値) データ型に変換します。

構文 ​

Input.to_f

  • Input - 入力される数値データ。文字列データ型または整数データ型を使用できます。

使用例 ​

formula結果
45.to_f45.0
-45.to_f-45.0
"45.67".to_f45.67
"Workato".to_f0

動作 ​

この formula は入力データに数値が含まれているかどうかをチェックします。数値が含まれていない場合は0を返します。数値に小数点がない場合、.0 が数値に追加されます。

関連情報 ​

  • to_i: データを整数データ型に変換します。

to_i ​

データを整数データ型に変換します。

構文 ​

Input.to_i

  • Input - 入力される数値データ。文字列データ型または浮動小数点データ型を使用できます。

使用例 ​

formula結果
45.43.to_i45
-45.43.to_i-45
"123".to_i123
"Workato".to_i0

動作 ​

この formula は入力データに数値が含まれているかどうかをチェックします。数値が含まれていない場合は0を返します。数値に小数点が含まれている場合、小数点以下のすべての数値が削除されます。

整数のチェック

この formula を使用すると、文字列に整数が含まれているかどうかをチェックできます。入力データに数値が含まれていない場合、この formula は 0 を返します。

関連情報 ​

  • to_f: データを浮動小数点 (数値) データ型に変換します。

to_s ​

データを文字列 (テキスト) データ型に変換します。

構文 ​

Input.to_s

  • Input - 任意の入力データ。数値や配列、オブジェクト、日時といったデータ型を使用できます。

使用例 ​

formula結果
-45.67.to_s"-45.67"
"123".to_s"123"
[1,2,3].to_s"[1,2,3]"
{key: "Workato"}.to_s"{:key=>"Workato"}""
"2020-06-05T17:13:27.000000-07:00".to_s"2020-06-05T17:13:27.000000-07:00"
"2020-06-05T17:13:27.000000-07:00".to_s(:short)"05 Jun 17:13"
"2020-06-05T17:13:27.000000-07:00".to_s(:long)"June 05, 2020 17:13"

動作 ​

この formula は入力データの文字列表現を返します。

簡単なヒント: 出力は文字列データ型です。

リストの文字列表現をリピートステップで使用することはできません。

関連情報 ​

  • to_f: データを浮動小数点 (数値) データ型に変換します。
  • to_i: データを整数データ型に変換します。

to_currency ​

整数/数値を通貨形式にします。

構文 ​

Input.to_currency

  • Input - 任意の入力文字列。

使用例 ​

formula説明結果
"345.60".to_currencyデフォルトの通貨記号 "$" を追加します。"$345.60"

高度な使用例 ​

to_currency formula の高度な使用例を紹介します。これらをカンマで区切って組み合わせると、目的の通貨書式を作成できるでしょう。例:

ruby
"12345.678".to_currency(delimiter: ".", format: "%n %u", precision: 2, separator: ",", unit: "€")
formula説明結果
"345.60".to_currency(unit: "€")デフォルトの通貨単位を変更します"€345.60"
"345.60".to_currency(format: "%n %u")単位に対する数値の位置を変更します (数値は %n で、通貨単位は %u で表されます)。数値と単位の間には空白を入れないことも、1個の空白を入れることもできます。デフォルトでは "%u%n" に設定されます。"$ 345.60"
"-345.60".to_currency(negative_format: "(%u%n)")数値がマイナスの場合の書式を指定します (数値は %n で、通貨単位は %u で表されます)。"($345.60)"
"345.678".to_currency小数精度はデフォルトで2桁に設定されます。"$345.68"
"345.678".to_currency(precision: 3)小数点以下の桁数を指定して、小数精度を変更します。"$345.678"
"345.678".to_currency(separator: ",")小数点の記号 を、「.」、「,」、「 」のいずれかで指定します。デフォルトでは「.」に設定されます。"$345.68"
"12345.678".to_currency(delimiter: ".")3桁ごとの区切り文字 を、「,」、「.」、「 」のいずれかで指定します。デフォルトでは「,」に設定されます。""$12.345.68"

to_phone ​

文字列または数値を (ユーザー定義の) 書式付きの電話番号に変換します。

構文 ​

Input.to_phone

  • Input - 任意の入力文字列または数値。

使用例 ​

formula結果
"5551234".to_phone555-1234
1235551234.to_phone123-555-1234
1235551234.to_phone(area_code: true)(123) 555-1234
1235551234.to_phone(delimiter: " ")123 555 1234
1235551234.to_phone(area_code: true, extension: 555)(123) 555-1234 x 555
1235551234.to_phone(country_code: 1)+1-123-555-1234
"123a456".to_phone123a456

Last updated: