<< 前へ        次へ >>

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

<< 前へ        次へ >>