数値, 乱数生成 (Number, Generate Random)
乱数を生成します。案件トークンがこの自動工程に到達すると、都度、指定範囲内の数値が生成されます。小数点以下はワークフローのデータ定義に応じて0へ近づく方向で切り捨てられます。
Configs
- A: 下限値をセットしてください (例 “0”, “-2.5”) *#{EL}
- B: 上限値をセットしてください (例 “10”, “2.5”) *#{EL}
- C: 生成された乱数が格納される数値型データを選択してください (更新) *
Script (click to open)
// GraalJS Script (engine type: 2)
// (c) 2021, Questetra, Inc. (the MIT License)
//////// START "main()" ////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const lower = configs.get( "conf_Lower" ) + ""; // config required
const upper = configs.get( "conf_Upper" ) + ""; // config required
const dataIdC = configs.get( "conf_DataIdC" ) + ""; // config required
// 'java.lang.String' (String Obj) to javascript primitive 'string'
// Design-time Config Format Check
const numLower = parseFloat( lower );
engine.log( " AutomatedTask Lower Limit: " + numLower );
const numUpper = parseFloat( upper );
engine.log( " AutomatedTask Upper Limit: " + numUpper );
if( isNaN(numLower) ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {Lower} is not a number \n" );
}
if( isNaN(numUpper) ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {Upper} is not a number \n" );
}
if( numLower > numUpper ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {Lower} is greater than {Upper} \n" );
}
//// == Data Retrieving / ワークフローデータの参照 ==
// nothing (This Service Task is a CREATE type)
//// == Calculating / 演算 ==
let numDiff = numUpper - numLower;
let mathRand = Math.random(); // Math.random(): 0.00 to 0.99
engine.log( " AutomatedTask Math.random(): " + mathRand );
let numRand = mathRand * numDiff + numLower;
engine.log( " AutomatedTask Generated Random: " + numRand );
//// == Data Updating / ワークフローデータへの代入 ==
engine.setDataByNumber( dataIdC, new java.math.BigDecimal( numRand ) );
} //////// END "main()" ////////

Download
2021-07-05 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/number-generate-random-2021/
Addonファイルのインポートは Professional でのみご利用いただけます
Notes
- 範囲を0~10に設定すると、0.00~9.99…の数値が生成されます
- もし「文字列として乱数」が必要な場合、『文字列, パスワード生成』の利用も検討します。(0始まり等)
- 下限値・上限値の書式は JavaScript の “parseFloat()” 関数に依ります
Capture
See also
Related