数値Formula
Rubyでは、Fixnumは9、10、11などの整数を指し、Floatは1.75や2.5などの小数を指します。 Workatoは、さまざまなFixnumおよびFloatのFormulaをサポートしています。
WorkatoのFormulaは、許可リストに登録されたRubyメソッドです。 これらのFormulaの構文と機能は、通常変更されていません。 Formulaがnull(Rubyではnilと表されます)に対して動作する場合、present?、presence、blank?を除き、ほとんどのFormulaはエラーを返し、ジョブを停止します。
詳細については、Fixnum(整数)およびFloat(小数)のRubyドキュメントを参照してください。 ただし、許可リストに登録されたRubyメソッドのみがサポートされます。 許可リストへの新しいFormulaの追加をリクエストするには、Customer Success Managerにお問い合わせください。
算術演算
算術演算の場合、値が整数型か小数(float)型かが重要です。 Formulaは常に入力として指定された型に従い、返される結果は最も精度の高い型になります。
例:
- 整数値が指定された場合、整数値が返されます。
- float値が指定された場合、float値が返されます。
- float値と整数値の両方が指定された場合、より精度が高いため、float値が返されます。
加算(+)演算子
この演算子を使用すると、両側のオペランドを加算できます。 このセクションでは、数値の算術演算について説明します。 日付固有の算術演算の詳細については、日付の算術演算を参照してください。
サンプル利用状況
| Formula | 結果 | タイプ |
|---|---|---|
| 4 + 7 | 11 | Fixnum |
| 4.0 + 7 | 11.0 | Float |
| 4.0 + 7.0 | 11.0 | Float |
減算(-)演算子
この演算子は、右側のオペランドを左側のオペランドから減算します。 このセクションでは、数値の算術演算について説明します。 日付固有の算術演算の詳細については、日付の算術演算を参照してください。
サンプル利用状況
| Formula | 結果 | タイプ |
|---|---|---|
| 4 - 7 | -3 | Fixnum |
| 4.0 - 7 | -3.0 | Float |
| 4.0 - 7.0 | -3.0 | Float |
乗算(*)演算子
この演算子は、両側のオペランドを乗算します。
サンプル利用状況
| Formula | 結果 | タイプ |
|---|---|---|
| 4 * 7 | 28 | Fixnum |
| 4.0 * 7 | 28.0 | Float |
| 4.0 * 7.0 | 28.0 | Float |
除算(/)演算子
左側のオペランドを右側のオペランドで除算します。
サンプル利用状況
| Formula | 結果 | タイプ |
|---|---|---|
| 4 / 7 | 0 | Fixnum |
| 4.0 / 7 | 0.571428... | Float |
| 7 / 4 | 1 | Fixnum |
| 7 / 4.0 | 1.75 | Float |
| 7.0 / 4 | 1.75 | Float |
| 7.0 / 4.0 | 1.75 | Float |
累乗(**)演算子
左側のオペランドを右側のオペランドの累乗にします。
サンプル利用状況
| Formula | 結果 | タイプ |
|---|---|---|
| 5**3 | 125 | Fixnum |
| 4**1.5 | 8.0 | Float |
| 4.0**2 | 16.0 | Float |
| 3**-1 | "1/3" | Rational |
| 8**(3**-1) | 2.0 | Float |
| 7**-1.6 | 0.044447... | Float |
剰余(%)演算子
左側のオペランドを右側のオペランドで除算し、剰余を返します。
サンプル利用状況
| Formula | 結果 | タイプ |
|---|---|---|
| 4 % 7 | 4 | Fixnum |
| 4.0 % 7 | 4.0 | Float |
| 4 % 7.0 | 4.0 | Float |
| 7 % 4 | 3 | Fixnum |
| 7.0 % 4.0 | 3.0 | Float |
その他の数値Formula
abs
数値の絶対(正の)値を返します。
構文
number.abs
- number - 入力整数またはfloat。
サンプル利用状況
| Formula | 結果 |
|---|---|
| 45.abs | 45 |
| -45.abs | 45 |
| 45.67.abs | 45.67 |
| -45.67.abs | 45.67 |
round
数値を丸めます。 このFormulaは、指定した小数点以下の桁数の値を返します。
構文
number.round(offset)
- number - 入力整数またはfloat。
- offset - (任意)返す小数点以下の桁数。負の値を指定できます。 指定しない場合、このFormulaは小数点以下の桁なしで数値を返します。
サンプル利用状況
| Formula | 結果 |
|---|---|
| 1234.567.round | 1235 |
| 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を返します。
関連項目
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を返します。
構文
Input.presence
- Input - 入力データピル。 文字列、数値、日付、または日時のデータ型を使用できます。
サンプル利用状況
| Formula | 結果 |
|---|---|
| nil.presence | nil |
| "".presence | nil |
| "Any Value".presence | "Any Value" |
| 45.0.presence | 45.0 |
| 0.presence | 0 |
仕組み
入力がnullまたは空の文字列の場合、Formulaはnilを返します。 その他のデータの場合は、元の入力データを返します。
関連項目
変換
ceil
入力数値を次に大きい整数またはfloatに切り上げます。 小数桁の精度を指定できます。
構文
number.ceil(precision)
- number - 入力整数またはfloat。
- precision - (任意)返す小数点以下の桁数。負の値を指定できます。 指定しない場合、このFormulaは小数点以下の桁なしで数値を返します。
サンプル利用状況
| Formula | 結果 |
|---|---|
| 1234.567.ceil | 1235 |
| -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.floor | 1234 |
| -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_f | 45.0 |
| -45.to_f | -45.0 |
| "45.67".to_f | 45.67 |
| "Workato".to_f | 0 |
仕組み
このFormulaは入力に数値が含まれているかどうかを確認し、数値が見つからない場合は0を返します。 数値に小数点がない場合、.0が数値に追加されます。
関連項目
- to_i: データを整数(whole number)データ型に変換します。
to_i
データを整数(whole number)データ型に変換します。
構文
Input.to_i
- Input - 数値入力データ。 文字列データ型またはfloatデータ型を使用できます。
サンプル利用状況
| Formula | 結果 |
|---|---|
| 45.43.to_i | 45 |
| -45.43.to_i | -45 |
| "123".to_i | 123 |
| "Workato".to_i | 0 |
仕組み
この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_currency
整数/数値を通貨形式にフォーマットします。
構文
Input.to_currency
- Input - 任意の入力文字列。
サンプル利用状況
| Formula | 説明 | 結果 |
|---|---|---|
| "345.60".to_currency | デフォルトの通貨記号"$"を追加します | "$345.60" |
高度なサンプル利用状況
to_currency Formulaの高度な利用状況について詳しく確認します。 これらをカンマ区切りで組み合わせて、目的の通貨形式を実現できます。 例:
"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_phone | 555-1234 |
| 1235551234.to_phone | 123-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_phone | 123a456 |
Last updated: