VB里的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 12:27:13
我在学VB的时候把一条程序:
Dim a As Variant
Private Sub Command1_Click()
a = Text1.Text
MsgBox "ASCII码为:" & Asc(a)
End Sub
不小心写成了:
Dim a As Variant
Private Sub Command1_Click()
a = val(Text1.Text)
MsgBox "ASCII码为:" & Asc(a)
End Sub
就是说把原来的a =(Text1.Text)写成a = val(Text1.Text)了,无论我在text1里输入什么字符或者数字它都显示:ASCII码为48,我想问一下为什么是48呢??

val()函数是返回一个字符串中的开始的数字(如 val("12ffgg")=12、val("3455")=3455),如果字符串没有以数字开始就返回0(如 val("ffgg")=0、val("dede444")=0),0的ASCII码就是48,所以当你没有在Text1中输入以数字开始的字符输出的结果一直是48

val()就是返回字符串中的前面的数字,若前面没有数字,则返回0.
ascii()是返回单个字符的ascii码,若val()返回的是0到9的一个数字,则ascii()的值为48到57,若val()返回的是多位数字,ascii只会取第一位数字进行计算。

val()就是返回字符串中的前面的数字,若前面没有数字,则返回0.
ascii()是返回单个字符的ascii码,若val()返回的是0到9的一个数字,则ascii()的值为48到57,若val()返回的是多位数字,ascii只会取第一位数字进行计算。
val()函数是返回一个字符串中的开始的数字(如 val("12ffgg")=12、val("3455")=3455),如果字符串没有以数字开始就返回0(如 val("ffgg")=0、val("dede444")=0),0的ASCII码就是48,所以当你没有在Text1中输入以数字开始的字符输出的结果一直是48.
学习了。