Decimal型変数の型の探し方

こんにちは。UiPath Studio EnterPrise版23.4.2ユーザの初心者です。

1から5までの整数値を格納する可能性がある変数int_tomatoがあり、最初は整数値なのでint32型で良いかと思いましたが,3.5などの小数点がある場合が判明しました。この場合は変数の型はDecimal型で良いのでしょうか?
回答がYESの場合、自己解決できませんでしたので、decimal型の探し方をご教示ください。

下記UiPath公式ドキュメントで調べましたが、さすがUiPath、公式ドキュメントが難解で分かりませんでした。

変数の型
https://docs.uipath.com/ja/studio/standalone/2023.4/user-guide/uipath-proprietary-variables

こんにちは

必要精度にもよりますが、Double (System.Double)でも良いと思います。

DecimalはSystem.Decimalをお使いください。

image

@gorby

いいえ、変数の型は double である必要があります

タイプ 3.5 の整数も受け入れます

回答を読むとDecimalよりもDoubleを推奨されているようですが、何か理由はありますか?
今回は小数点が存在してもせいぜい小数点以下2~3桁くらいまでで倍精度までは必要ない変数です。

必要精度次第です

VB/UiPathの場合、単純に小数をリテラルで記述するとDoubleと見なされるので、Doubleの方が扱いやすいと思います。一方必要桁数が多い場合等Doubleで誤差が出る場合はDecimalが必須になります。(内部的にDoubleは2進数ベースの浮動小数型、Decimalは10進数ベースの浮動小数型になるので、前者は通常使用する分には無視できる程度の誤差を含んでいる場合があります)今回小数点以下2-3桁で、整数部分もそれほど大きい値にならないのであればDoubleで問題ないと思います。

なおDoubleという名称は精度からきていますので、どちらかというとこちらが倍精度です。

精度に関しては以下も参照ください。

@gorby

May be this explains the difference

C# Decimal vs Double and Other Tips About Number Types.

Cheers

Hi @gorby

If you want to store the values decimals like 3.5, 4.05, 9.2 and all.
You can store it in a Double Datatype variable.
Go to Variable panel → Hit on the Variable type → Click on browse for more types → Search for System.double.

Check the below image for better understanding.
image

The difference between the double and decimals is the Double data type is faster and requires less memory, but it is subject to rounding errors. The Decimal data type retains complete accuracy to 28 decimal places .

Hope it helps!!