ID : 574
2項演算におけるデータ型の優先順位
2項演算で異なるデータ型のデータを指定した場合には、通常は下記の優先順位の高いデータに自動変換してから演算します。
優先順位 | データ型 |
---|---|
1 | 倍精度実数型 |
2 | 単精度実数型 |
3 | 整数型 |
4 | 文字列型 |
5 | ベクトル型 ポジション型 ジョイント型 同次変換型 |
演算例
例1
Dim aaa As Integer
Dim bbb As String
aaa = 100
bbb = "DENSO"
PringDbg aaa + bbb
'Integerのaaaが優先度が高いのでStringのbbbがIntegerに自動変換されます。
'bbbはIntegerに自動変換できないのでエラーになります。
例2
Dim aaa As Integer
Dim bbb As String
aaa = 100
bbb = "90"
PringDbg aaa + bbb
'Integerのaaaが優先度が高いのでStringのbbbがIntegerに自動変換されます。
'190が出力されます。
例3
Dim aaa As Position
Dim bbb As String
aaa = P(100, 200, 300)
bbb = "90"
PringDbg bbb + aaa
'Stringのbbbが優先度が高いのでPositionのaaaがStringに自動変換されます。
' "90P(100, 200, 300, 0, 0, 0, -1)" が出力されます。
注意事項
ID : 574