VB~~真的好郁闷~

来源:百度知道 编辑:UC知道 时间:2024/03/29 23:52:35
s(54) = CInt(Text1.Text) / Text2.Text '/++-
s(55) = s(54) + Text3.Text
s(56) = s(55) + Text4.Text
a(15) = s(56) - Text5.Text
Test1是11 Test2是12 Test3是24 Test4是14 Test5是18
用VB算出来是21
用计算机算出来是20.916667
怎么会这样啊???我用了好多公式很多都出了这种问题~是我的程序出错了~还是VB本身的问题??

在运算时,数据类型很重要,一定要在运算前定义好。
你把S()和a()定义的数据类型是什么啊?如果定义成integer后运算的结果就是a(15)=21
定义成Single,a(15)=20.91666
定义成Double ,a(15)=20.9166666666667

VB不可能会错的!
只是类型而已,平时多注意就行了!

把S值设为single型

是这样的,在VB中,这个"/"符号是除法的意思,当除数和被除数均为整数时,作的是整除,则此句CInt(Text1.Text) / Text2.Text 的结果为0,再"++"之后,s(54)的值应为1,按照这样算下去,就可以得到结果为21了,vb没有错,认真读读基础的vb书,不要忽略细节.