在文本框text1与text2中分别输入35与48,变量s与x分别为字符型与整型,试问以下赋值语句的执行结果是什么?s=text1.text + text2.text
x=text1.text + text2.text
s=text1.text & text2.text
x=text1.text & text2.text
s=val(text1.text) + text2.text
x=val(text1.text) + text2.text
s=val(text1.text) + text2.text
x=val(text1.text) + text2.text我在vb里运行了一下,结果和我设想的不一样,请大家给我一个正确的答案
首先我认为 text1.text 这所取的值应为字符串常量.字符串常量赋给整型变量应为类型不匹配.
val(text1.text)+ text2.text 数值常量+字符串常量吗?谢谢!
x=text1.text + text2.text
s=text1.text & text2.text
x=text1.text & text2.text
s=val(text1.text) + text2.text
x=val(text1.text) + text2.text
s=val(text1.text) + text2.text
x=val(text1.text) + text2.text我在vb里运行了一下,结果和我设想的不一样,请大家给我一个正确的答案
首先我认为 text1.text 这所取的值应为字符串常量.字符串常量赋给整型变量应为类型不匹配.
val(text1.text)+ text2.text 数值常量+字符串常量吗?谢谢!
即使我赋值时用了STR()或VAL()也没用。
有时这点挺气人。
x=text1.text + text2.text
s=text1.text & text2.text
x=text1.text & text2.text这里面的“+” 和 “&”的作用相同,都是连接字串的,返回值当然是字串,如果定义的返回值的变量类型不是字串,则根据连接后的字串进行类型转换,这个工作由vb自身来完成,所以程序可以正常运行,不过,你要注意,这不是一个好的习惯至于:
//val(text1.text) + text2.text
由于使用了val,vb会认为要进行数学运算,如果text2.text不能转化为数值,就会抛出一个错误,当然,你的程序中同样存在一个由vb完成的类型转换问题
"5" & "6" = "56"
"s" + "6" = "s6"
"5" & "s" = "5s"
"5" & "6" = "56""5" + "6" = "56" or 56,但不会=11
"5" & "6" = "56"