VB编程中a = Text1.Text与a = val(Text1.Text)有嘛区别?
作者&投稿:都峰 (若有异议请与网页底部的电邮联系)
text 是textbox控件的默认属性,就你的代码而言,text1和text1.text是一样的。
text1= 和 text1.text= 没有任何区别
但在作为变量引用时是有区别的,如:set obj=text1,而不能set obj=text1.text。
同样的:
sub aaa(a as textbox)
end sub
只能引用text1而不能引用text1.text,即只能:aaa text1,不能aaa text1.text。
sub bbb(a)
a.height=100
end sub
只能引用text1而不能引用text1.text,即只能:bbb text1,不能bbb text1.text。
sub ccc(a)
msgbox a
end sub
此时,可ccc text1,亦可ccc text1.text。
如果是加法,text3=text1+text2是字符串的合并,但在减法中text3=text1-text2,如果输入的是数字的话是减
法,为什么呢?
因为字符串做不了减法啊,系统会自动将输入的数字字符串转为数字
text1.text和text1在加减法中有什么区别呢?
没有区别
例如: Dim a AS string
a = Text1.Text
Dim a AS integer
a = Val(Text1.Text)
虽然VB是弱类型的, 但是明确类型,还是有利于提高性能的。
有区别,第一个表达式,如果没有定义a的类型,a就成了字符型,第二个表达式,a成为数值型
绽蓉熊胆: 把text的值赋给A 这里的“=”不是等号 而是赋值号 如果text为数值尽量换成a=val(text1.text) 防止变量溢出
岳阳县15540715417: VB编程中a = Text1.Text与a = val(Text1.Text)有嘛区别? - ?
绽蓉熊胆: VAL 是取数值的,例如: Dim a AS string a = Text1.Text Dim a AS integer a = Val(Text1.Text) 虽然VB是弱类型的, 但是明确类型,还是有利于提高性能的.
岳阳县15540715417: VB中调用系统时间的公式:Text1.Text = Format(Year, Te…?
绽蓉熊胆: 系统时间可以用Month(Date),Year(Date),Date表示 Date是指当前时间,即系统任务栏所示的时间 Month(Date)是指当前时间下的月份 Year(Date)是指当前时间下的年份 至于你说的给Text1.Text赋值.可以直接写成: Text1.Text=Yeat(Date)
岳阳县15540715417: 用vb编程时要产生一个text1.text和text2.text之间的数用rnd函数怎么编! - ?
绽蓉熊胆: val(text1.text)+rnd*(val(text2)-val(text1)) 取值范围: [text1,text2) val(text1.text)+rnd*(val(text2)-val(text1)+1) 取值范围: [text1,text2]
岳阳县15540715417: VB编程,急求,从文本框1中输入的一个由字母和数字组成的字符串中找出所有的数字, - ?
绽蓉熊胆: a = Text1.Text For i = 1 To Len(a) If IsNumeric(Mid(a, i, 1)) Then b = b & Mid(a, i, 1) End If Next i Text2.Text = b
岳阳县15540715417: VB代码如何写 - ?
绽蓉熊胆: 这不是都写好了吗? text3.text=(val(text1.text)*2+3)/val(text2.text)/8/9 注意TEXT2不为零,且text1 text2输入的是数字就行了
岳阳县15540715417: vb语言中Text - value(变量).Text是什么意思 - ?
绽蓉熊胆: value是把字符变量转变成数值变量的函数 比如说你在文本框里输入数字,默认状况下所输入的数字为文本型,需要把他转变成数值型才能进行加减乘除的运算. 比如把text1里的文本转换为数值型可以这样用 a = Val(Tex1.Text) 这样以后就可以用a 来代替text1 了
岳阳县15540715417: VB编程“输入一个3*3的数据,要求为2位数,并求他们的和.” - ?
绽蓉熊胆: VB内置的常用函数里就有这个功能 mid函数:比如你在text1中输入的三位数是123 a=text1.text text2.text=mid(a,1,2) 这时输出的字符是1和2,含义是从第一个字符开始的前两个字符,再比如是mid(a,1,3)意思就是从第一个开始的前三个字符,要实现你要求的功能就是text2.text=mid(a,1,1)+" "+mid(a,2,1)+" "+mid(a,3,1)
岳阳县15540715417: 请问,我在VB中编程,一个公式! - ?
绽蓉熊胆: 可以先dim a,b,c as integer. a=val(text1.text) b=val(text2.text) c=val(text3.text) 然后 a,b,c就可以直接用了.
岳阳县15540715417: Vb语句编写,a=Val(text1.text),如何编写随机产生两位小数的在开区间(a,1)内? - ?
绽蓉熊胆: Private Sub Command1_Click() a = Val(Text1.Text) Randomize (Time) randnumber = a + Rnd * (1 - a) randnumber = Val(Format(randnumber, "#.##")) MsgBox Str(randnumber) End Sub