オートメーション道場

RPAツール「Automation 360」(旧Automation Anywhere A2019) の使い方についてまとめていきます。

最近接偶数丸めした整数を得る

最近接偶数丸めした整数を得る

Automation Anywhere A2019で変数を使った四則演算以上のことを行うには工夫が必要です。入力値の最近接偶数丸めした整数を計算するには、外部スクリプト (VBScript, JavaScript, Python) を使う方法があります。

 

目次

 

「最近接偶数丸め」とは、「端数が0.5より小さいなら切り捨て、端数が0.5より大きいならば切り上げる。 端数がちょうど0.5なら切り捨てと切り上げのうち結果が偶数となる方へ丸める。」 という端数処理の方法のひとつです。端数が0.5の時の処理が四捨五入と微妙に違っており、「銀行丸め」「JIS丸め」「ISO丸め」とも呼ばれます。

数字型変数 $x$を作成、初期値=4.5として、$x$の最近接偶数丸めを求める方法を考えます。

 

VBScriptを使う方法

VBScriptを呼び出す方法を使って入力値のRound関数を計算します。VBScriptのRound関数は最近接銀行丸めが使われているので、そのまま使えます。

 

解法:

  1. 数字型変数の$x$をあらかじめ作成しておきます。初期値として3を代入します。
  2. VBScript : 開く」アクションを配置します。
  3. アクションの詳細パネルで以下を指定します。
    • VBScript」は「手動インポート」を選択。
    • 「ここにスクリプトを入力します」には以下を設定。

      Function Calc(x)
        Calc = round(x)
      End Function

  4. 保存します。
  5. VBScript: 関数を実行」アクションを配置します。
  6. アクションの詳細パネルで以下を指定します。
    • 「実行する関数の名前を入力します」は「Calc」と入力。
    • 「関数への引数」には「x - 数字」を設定。
    • 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
  7. 保存します。
  8. VBScript: 閉じる」アクションを配置して、保存、実行します。
  9. 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
  10. 保存して実行します。

結果:

「4」と表示されます。

 

JavaScriptを使う方法

JavaScriptを呼び出す方法を使って入力値のRound関数を計算します。

 

解法:

  1. 数字型変数の$x$をあらかじめ作成しておきます。初期値として3を代入します。
  2. JavaScript : 開く」アクションを配置します。
  3. アクションの詳細パネルで以下を指定します。
    • JavaScript」は「手動インポート」を選択。
    • 「ここにスクリプトを入力します」には以下を設定。

      function Calc(x){
      var r = (0 < x) ? x % 2 : (x % 2) + 2;
      return (1 < r) ? Math.floor(x + 0.5) : Math.ceil(x - 0.5);
      }

  4. 保存します。
  5. JavaScript: JavaScriptを実行」アクションを配置します。
  6. アクションの詳細パネルで以下を指定します。
    • 「実行する関数の名前を入力します」は「Calc」と入力。
    • 「関数への引数」には「x - 数字」を設定。
    • 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
  7. 保存します。
  8. JavaScript: 閉じる」アクションを配置して、保存、実行します。
  9. 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
  10. 保存して実行します。

結果:

「4」と表示されます。

 

Pythonを使う方法

Pythonスクリプトを呼び出す方法を使って入力値のRound関数を計算します。

Pythonランタイム環境がインストール済みであることが前提です。

Pythonの組み込み関数 round 関数は最近接銀行丸めが使われているので、そのまま使えます。

 

解法:

  1. 数字型変数の$x$をあらかじめ作成しておきます。初期値として3を代入します。
  2. Pythonスクリプト: 開く」アクションを配置します。
  3. アクションの詳細パネルで以下を指定します。
    • Python」は「手動インポート」を選択。
    • 「ここにスクリプトを入力します」には以下を設定。

      def Calc(x): return round(x)

  4. 保存します。
  5. Pythonスクリプト: 関数を実行」アクションを配置します。
  6. アクションの詳細パネルで以下を指定します。
    • 「実行する関数の名前を入力します」は「Calc」と入力。
    • 「関数への引数」には「x - 数字」を設定。
    • 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
  7. 保存します。
  8. Pythonスクリプト: 閉じる」アクションを配置して、保存、実行します。
  9. 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
  10. 保存して実行します。

結果:

「4」と表示されます。

 

 

 

オートメーション道場