はじめに
この投稿は、RPAツール「UiPath」で使用する 変数とその初期値 ついての記事です。
UiPathの変数と初期値
UiPathで使用する変数は、
「.NETで定義されているもの」 + 「追加したパッケージに入っているもの」
になります。
変数の値は最初「初期値」になっていますが、値は変数の「型」によって異なります。
以下、主要な型とその初期値です。
型 | 初期値 |
---|---|
String | 空文字列("") |
Int等の数値 | 0 (ゼロ) |
Bool | false |
DateTime | 01/01/0001 00:00:00 |
Object | null(VBではNothing) |
DataTable | null(VBではNothing) |
Array | null(VBではNothing) |
初期値が「Null」の型で「初期値かどうか?」を判定する場合ですが、条件分岐アクティビティ は「条件式をVB形式で書く必要がある」ため、以下のように「Is Nothing」で判定します。
数値型は最大最小がある
UiPathで数値を扱う場合は、基本は「Int32」で、小数点有りなら「Double」を使うことが多いと思いますが、
それぞれ、格納できる最大最小値があります。
例えば、UiPathの変数指定でデフォルト表示される「Int32」型ですが、この型は「21億(2,147,483,647)」以上の値でエラーになります。
「Int32型」は正式名称「System.Int32型、符号付き32bit整数値」と呼ばれ、値の範囲は「-2147483648 ~ 2147483647」です。
この「Int32型」を使用した際の良くあるエラー例として、以下があります。
金額値をInt32で定義した
↓
加算していったら22億くらいになった
↓
「OverflowException: 算術演算の結果オーバーフローが発生しました。」 エラー
22億というと、メジャーリーグのTOP30くらいの年俸です。
(メジャーリーガーの年俸システムをRPAで操作する時?はInt32はダメです)
この場合、変数の型を「Int64」型にすれば「922京」くらいまで入るので安心です。
「Int64」型は正式名称「System.Int64型」と呼ばれ、値の範囲は「-9223372036854775808 ~ 9223372036854775807」です。
各数値型の範囲は以下を参考にしてください。
小数点の変数
小数点を扱う場合は「Int32、Int64」型ではなく、以下の変数型を使用します。
型の名称 | 有効桁数最大 | 特徴 |
---|---|---|
Single型 | 7 桁 | 計算で微妙なズレが出る |
Double型 | 15桁 | 計算で微妙なズレが出る |
Decimal型 | 29 桁 | 計算で微妙なズレが出ないが、処理速度が少し遅い |
違いは「箱(どれだけ大きな桁数の数字を入れられるか)」のサイズと、正確さ、計算速度です。
小数点がある金額の計算などは、Decimalで行うほうが安心です。
終わりに
いかがでしたでしょうか。初期値や数値のオーバーフローで困った時に役立てば幸いです。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。