Q180:MZPlatformの型変換について
Q180-1:
データ項目のひとつとして、マスターID(6桁の整数)を設定しています。
このマスターIDの下2桁を強制的に「00」に置き換える処理をしたいと思っています。
(1)整数格納変数にマスターIDを格納
(2)格納したマスターIDを文字列に型変換して文字列格納変数に格納。
(3)部分文字列を取得するメソッドで、左から4文字(上4桁)を取得
(4)取得した4文字を整数に型変換して、整数格納変数に格納
(5)乗算で100を掛けて、下2桁が00のマスターIDとなる
上記の処理で、(2)と(4)の型変換が上手くいきません。メソッド「ValueOfThenReplace」を使うのではないかと考えているのですが、エラーが出てしまいます。
解決策をご教授いただきたく、よろしくお願い申し上げます。
A180-1:
型変換についてですが、MZPlatformではコンポーネントに与えられた値は、内部でデータ型変換を自動的に行い、ユーザーが特に型を意識しなくても処理ができるように設計しております。
[文字列格納変数]「文字列を設定する(String)」際にも、事前に型変換を行う必要はなく、[任意精度整数(BigInteger)格納変数]からメソッド「数値を取得する()」で取得した数値で文字列を設定しても問題ございません。
> (1)整数格納変数にマスターIDを格納
> (2)格納したマスターIDを文字列に型変換して文字列格納変数に格納。
型変換の必要はないので、直接[文字列格納変数]にマスターIDを設定しても結構です。
> (3)部分文字列を取得するメソッドで、左から4文字(上4桁)を取得
> (4)取得した4文字を整数に型変換して、整数格納変数に格納
[任意精度整数(BigInteger)格納変数]「数値を文字列で設定する(String)」を選んで頂けば、これも型変換の必要はありません。
引数「取得方法:メソッド処理結果」で「部分文字列を取得」した結果を「メソッド/値」とします。
なお引数の型が汎用的なデータ型である(Object)の場合には文字列や数値を含む様々なデータを割り当てることができるので、データ型の自動変換が行われませんから、適切な型の値を設定する必要があります。
> (5)乗算で100を掛けて、下2桁が00のマスターIDとなる
[乗算]を使って頂いても結構ですし、[任意精度整数(BigInteger)格納変数]「指定した数値との乗算結果に置換える(BigInteger)」で引数を「100」としても同様です。