<< 向前        下一页 >>

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

<< 向前        下一页 >>