数値の制限

Desktop Automation ロボットと Web Automation ロボットの数値形式は異なります。Web Automation ロボットでは、変数に格納される値は倍精度です (IEEE754 規格で規定された binary64)。Desktop Automation では、変数は IEEE 754R decimal128 形式で数値を格納しますが、34 桁の 10 進数と −2147483647 ~ +2147483648 (= 2^31) の指数範囲を使います。Desktop Automation ロボットに値を格納する際には四捨五入が発生するため、精度が低下します。たとえば、数値が 34 桁を超え、最後の数字が .5 の場合、四捨五入されるので、 .5.0 になります。またたとえば、1234567890123456789012345678901234567890.0 は、1234567890123456789012345678901235000000 になります。大きな整数の数値をとることもできますが、有効桁数は 34 桁です。

利用できる数値は以下のとおりです:最大 9.9999999999…E2147483647 から最小 0.1E-2147483646 までの数値これらの数値は、エクスプレッションに “0.1E-2147483646”.number() を書き込むなどして、テキストから数値に変換できる最大値と最小値です。乗算を使ってより大きな数値を得ることもできますが、オーバーフロー エラーが発生する可能性があります。数値の表記には以下のような制約があります:

“9.9999999999…9E2147483647”.number() は、数値が 34 桁以上ある場合 1.0E2147483648 に変換され、34 桁未満の場合は 9.9999999999…9E2147483647 に変換されます。

“0.1E-2147483646”.number() は、1.0E-2147483647 に変換されます。