10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【UiPath】変数とその初期値について

Last updated at Posted at 2021-06-11

はじめに

この投稿は、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」で判定します。

image.png

数値型は最大最小がある

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をお願いします。閲覧ありがとうございました。

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?