最近接偶数丸めした整数を得る
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関数は最近接銀行丸めが使われているので、そのまま使えます。
解法:
- 数字型変数の$x$をあらかじめ作成しておきます。初期値として3を代入します。
- 「VBScript : 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 保存します。
- 「VBScript: 関数を実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「Calc」と入力。
- 「関数への引数」には「x - 数字」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「VBScript: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「4」と表示されます。
JavaScriptを使う方法
JavaScriptを呼び出す方法を使って入力値のRound関数を計算します。
解法:
- 数字型変数の$x$をあらかじめ作成しておきます。初期値として3を代入します。
- 「JavaScript : 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「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);
} - 保存します。
- 「JavaScript: JavaScriptを実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「Calc」と入力。
- 「関数への引数」には「x - 数字」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「JavaScript: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「4」と表示されます。
Pythonを使う方法
Pythonスクリプトを呼び出す方法を使って入力値のRound関数を計算します。
※ Pythonランタイム環境がインストール済みであることが前提です。
Pythonの組み込み関数 round 関数は最近接銀行丸めが使われているので、そのまま使えます。
解法:
- 数字型変数の$x$をあらかじめ作成しておきます。初期値として3を代入します。
- 「Pythonスクリプト: 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 保存します。
- 「Pythonスクリプト: 関数を実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「Calc」と入力。
- 「関数への引数」には「x - 数字」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「Pythonスクリプト: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「4」と表示されます。