スプレッドシートからDataTable型で格納した数値(%形式)を条件分岐で100%以上で判定したいです。繰り返し(各行)で行っています。
条件にはCType(row(0),System.string)>"100%"としています。
エラーは起きませんが、100%以上でないものを100%だと判断したりします。条件がstring以外もInt32,doubleで試していますがエラーになります。
何がいけないのでしょうか?ちなみに、セルは正しい位置を繰り返しで読んでいます。
こんにちは
String型の大小比較は一文字づつの文字コードの比較になりますので、特定の条件下(桁がそろっている等)を除くと、あまり使わない方が良いかと思います。
DataTableにどのような形で格納されているかにも依存しますが、仮に100%の形で格納されている
ようでしたら、以下の式で比較するのが良いと思います。
Int32.Parse(row(0).ToString.Replace("%",""))>100
もしDatatable内の値が数値(例えば元の値が100%なら1)それにあわせた比較が必要です。
まずはこちらを確認した方が良いかもしれません。適当な箇所でブレイクポイントを設定して
デバッグ実行すると、ブレイクポイントで一時停止しますので、ローカルパネルで内容を
確認できます。
ありがとうございます。
無事できました。
確認したら100%ではなく、100.0%のような形でしたのでInt32は変更しました。
2021年1月15日(金) 14:49 Yoichi via UiPath Community Forum <uipath@discoursemail.com>:
1 Like