数値Formula

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Rubyでは、Fixnumは9、10、11などの整数を指し、Floatは1.75や2.5などの小数を指します。 Workatoは、さまざまなFixnumおよびFloatのFormulaをサポートしています。

WorkatoのFormulaは、許可リストに登録されたRubyメソッドです。 これらのFormulaの構文と機能は、通常変更されていません。 Formulaがnull(Rubyではnilと表されます)に対して動作する場合、present?presenceblank?を除き、ほとんどのFormulaはエラーを返し、ジョブを停止します。

詳細については、Fixnum(整数)およびFloat(小数)のRubyドキュメントを参照してください。 ただし、許可リストに登録されたRubyメソッドのみがサポートされます。 許可リストへの新しいFormulaの追加をリクエストするには、Customer Success Managerにお問い合わせください。

算術演算

算術演算の場合、値が整数型か小数(float)型かが重要です。 Formulaは常に入力として指定された型に従い、返される結果は最も精度の高い型になります。

例:

  • 整数値が指定された場合、整数値が返されます。
  • float値が指定された場合、float値が返されます。
  • float値と整数値の両方が指定された場合、より精度が高いため、float値が返されます。

加算(+)演算子

この演算子を使用すると、両側のオペランドを加算できます。 このセクションでは、数値の算術演算について説明します。 日付固有の算術演算の詳細については、日付の算術演算を参照してください。

サンプル利用状況

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 - 入力整数またはfloat。

サンプル利用状況

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

round

数値を丸めます。 このFormulaは、指定した小数点以下の桁数の値を返します。

構文

number.round(offset)

  • number - 入力整数またはfloat。
  • offset - (任意)返す小数点以下の桁数。負の値を指定できます。 指定しない場合、このFormulaは小数点以下の桁なしで数値を返します。

サンプル利用状況

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

条件

blank?

Rubyの慣例に従って、入力が空白とみなされるかどうかをチェックします。 これには以下が含まれます:

  • Null値
  • 空の入力
  • falseのブール値
  • 空白文字のみを含む文字列
  • 値を持たない数値。NaN(not a number)と呼ばれることがあります。 これは未定義の値、または表現できない値です。 たとえば、ゼロ除算の結果、または欠損値です。

構文

Input.blank?

  • Input - 入力データピル。 これは、文字列、数値、日付、日時、ブール値、配列、またはオブジェクトデータ型にできます。

サンプル利用状況

Formula結果
"Any Value".blank?false
123.blank?false
0.blank?false
"".blank?true
' '.blank?true
nil.blank?true
false.blank?true
true.blank?false
[].blank?true
{}.blank?true

仕組み

入力がRubyの慣例に従って空白とみなされる場合、Formulaは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、boolean 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

入力数値を次に大きい整数またはfloatに切り上げます。 小数桁の精度を指定できます。

構文

number.ceil(precision)

  • number - 入力整数またはfloat。
  • precision - (任意)返す小数点以下の桁数。負の値を指定できます。 指定しない場合、このFormulaは小数点以下の桁なしで数値を返します。

サンプル利用状況

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

floor

入力数値を次に小さい整数またはfloatに切り下げます。 小数桁の精度を指定できます。

構文

number.floor(precision)

  • number - 入力整数またはfloat。
  • precision - (任意)返す小数点以下の桁数。負の値を指定できます。 指定しない場合、このFormulaは小数点以下の桁なしで数値を返します。

サンプル利用状況

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

to_f

データをfloat(数値)データ型に変換します。

構文

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: データを整数(whole number)データ型に変換します。

to_i

データを整数(whole number)データ型に変換します。

構文

Input.to_i

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

サンプル利用状況

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

仕組み

このFormulaは入力に数値が含まれているかどうかを確認し、数値が見つからない場合は0を返します。 数値に小数点がある場合、小数点以下はすべて省略されます。

整数の確認

このFormulaを使用して、文字列に整数が含まれているかどうかを確認できます。 入力に数値が含まれていない場合、Formulaは0を返します。

関連項目

  • to_f: データをfloat(数値)データ型に変換します。

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: データをfloat(数値)データ型に変換します。
  • to_i: データを整数(whole number)データ型に変換します。

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で表されます)。 間に0個または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: ".")桁区切り文字を","、"."、または" "として指定します。 デフォルトは","です。""$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: