inputのエクセルには先頭のゼロが入力されていないけど、入力先画面では先頭0をつけてフル桁で入力しないといけないときがあります。
そんなときは、入力値の頭にゼロをつけて桁数を揃えてから入力すれば大丈夫です。
桁数の少ないとき/多いときで、オススメの方法が違いますので、両方ご紹介します。
桁数が少ないときにオススメ_ToStringを使う方法
toStringを使えば、簡単に桁そろえができます。
数値.ToString(桁数分の"0")
UiPathでは、例えば12という数値を3桁にしたい場合、こんな風に書きます。
値が文字列の場合
エクセルから読み取った値の桁数を揃えたいとき、読み取った値が文字列として読み取られる場合があります。
その場合は、文字列を数値に変換してからtoStringです。
cint(文字列).ToString(桁数分の"0")
桁数が多いときにオススメ_PadLeftを使う方法
次に紹介するのは「PadLeft」を使う方法です。
実は、ToStringは桁数が多いときには面倒です。例えば11桁に揃えたいとき、
数値.ToString("00000000000")
こんな風に0をたくさん書かないといけないので、ミスが生まれやすいです。私は実際の現場で13桁を経験したことがあります。そうなると0を数えるだけで大変・・・。
なので、桁数が多いときには「PadLeft」がおすすめ。書き方はこうです。
数値.ToString().PadLeft(桁数,"0"c)
UiPathでは、例えば12という数値を11桁にしたい場合、こんな風に書きます。
値が文字列の場合
値が文字列の場合、PadLeftの場合は、ToString()の部分が要りません。こう書けば大丈夫です。
数値.PadLeft(桁数,"0"c)
toStringは数値を文字列に変換するという考え方でしたが、PadLeftは、文字列の桁を揃えるためにあるためです。
まとめ
ここまで、ToStringとPadLeftを使って桁数をそろえる方法を紹介しました。ToStringとPadLeftのどちらを使うかは、桁数が多いか少ないかで使い分けるのがオススメです。
あと、どちらの方法も、文字列を取得することになります。なので、最終的に数値として取得したい場合は、さらに数値に変換してから使ってください。
以上、UiPathでは何度も出てくる処理ですので、ぜひ参考にしてください。