Private Sub Text2_change()
gbzcsj = Val(Text2.Text)
If gbzcsj < 0 Then
gbzcsj = 0
End If
gbzcf = gbqz * gbzcsj / gbzcmb
gbzcf.Caption = "此项得分:" & gbzcf
End Sub
变量全部定义的double,溢出是什么原因?
另外我是想让text中只能输入数值,可以有小数点,怎么写
我想画2个text和一个label
text中只能输入数字,然后同时label中出结果
除数那个text可以在失去焦点时候在转换为数值型,怎么办..
帮我先设计这个吧,谢谢大神..
新建工程,添加text1,text2,label1三个控件,代码如下:
text1与text2输入的处理差不多。都是输入一个处理一个。如果除数是0就不处理,你可以自己加提示。
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Text1_Change()
'被除数
If Len(Text1.Text) = 0 Then Exit Sub
t = Asc(Right(Text1.Text, 1))
If InStr(Text1.Text, ".") 47 And t 0 Then
Label1.Caption = Val(Text1.Text) / (Text2.Text)
End If
End Sub
Private Sub Text2_Change()
'除数
If Len(Text2.Text) = 0 Then Exit Sub
t = Asc(Right(Text2.Text, 1))
If InStr(Text1.Text, ".") 47 And t 0 Then
Label1.Caption = Val(Text1.Text) / Val(Text2.Text)
End If
End Sub
这个程序很好的解决了我的问题,谢谢
我想再请教下,我在最后
Label1.Caption = Val(Text1.Text) / Val(Text2.Text)
后边乘以15怎么结果变成0了
text1里输入值了?text1,text2都不能是0
追问输了 结果可以显示正确,但是怎么乘以一个数以后就变0了..
另外 我还想输入个负号怎么办..
Private Sub Text1_Change()
'被除数
If Len(Text1.Text) = 0 Then Exit Sub
t = Asc(Right(Text1.Text, 1))
If InStr(Text1.Text, ".") 47 And t 0 Then
Label1.Caption = Val(Text1.Text) / (Text2.Text) * 15
End If
End Sub
text2的修改你参考修改吧。*15,你是这么输入的?应该没问题的。
能给个邮箱么,我想让你看看我这个程序 问题出在哪里..十分感谢
追答看了你的代码,变量的问题
dim zhiwei, gbqz As Integer 这个变量的定义只在它定义的模块内有用。按你的程序应该定义为全局变量。
Public zhiwei, gbqz As Integer
放到程序的最开始,不在任何子程序里。或者单建一个模块,放到模块中。
这样每次运行时,点一下职位一,给 gbqz 赋值为15,然后计算才有效。
还是溢出.
gbzcf.Caption = "此项得分:" & gbzcf
前一个是控件 后一个是变量
是不是不能同名?
是的!
vb溢出是什么原因
2)给属性的赋值超过属性能接受的最大值。确保赋值适合属性的范围。3)试图在计算中使用一个数字,并且该数字被强制为一个整数,但是结果超过了整数的范围,例如:Dim x As Long x = 2000 * 365 ' 错误: 溢出要解决这个问题,请按如下方式键入该数字:Dim x As Long x = CLng(2000) ...
VB实时错误6,溢出
在这个过程中VB会自动分配一个临时变量来存放计算过程中的中间结果,这个临时变量的类型是由两个操作数的数据类型中占用内存空间最大的那个数据类型来决定的。在计算过程中,由于i和6500都是ineteger类型的,所以存放6500*i结果的临时变量也默认为integer型。这时回过来再看当i=6时,6500*i的值是39000,...
VB调试时实时错误“6”溢出是什么原因?
如:Dim a As Integer 改成 long 或者 double
运行时错误'6' 溢出
可以用msconfig,优化大师之类的工具来设置.
VB 出现实时错误‘6’ 溢出
解决的方法:第一种:首先不要期望得到一个准确值,只能求得一个近似值。可以直接对单个分式计算,而不要计算分母(这样一来,89\/178!=1.48E-323;90\/180!=0)可以得到结果:0.587600596821901。代码如下:Private Sub Command1_Click()和 = 0 For j = 1 To 100 分式 = 1 For i = 1 ...
VB程序错误6 溢出,如何修改
text2.text 里面你打算输入什么数?因为如果里面是空的话 那么A就是0 导致(B ^ 2 * Z * F * T * A) 是0 也就是分母是0 所以溢出
Vb中 什么原因会 导致 溢出
很多情况都会导致溢出。我的经验是用on error go to next 的方法避免掉。插入修改删除等操作都会有可能因为数据变量的设置或者语句结构的重复等等原因出现溢出错误。如果不会影响数据的准确性,用那个方法避免掉就可以了。
vb软件运行一段时间 runtime error 6,求解,代码如下?
Dim sums As Integer 错误!当 sums = 32767 时,相当于 09:06:07 当 sums 再加上 1 时就溢出了!建议改成:Dim sums As Long 就应该能够解决这个问题了!
...溢出”,是因为计算次数太多的缘故吗?怎么解决啊?
溢出就是超过数据了范围了比如 将 32768 保存到 integer 类型的变量中.所以,尽管你认为是在穷举,但事实上,穷举也要有个限度的.如果你要数据量大些,可以用 long ,double 这里.
VB运行错误6溢出怎么解决
溢出错误肯定就是你的计算结果超出了数据类型的最大值要求,或者是某个函数的参数类型不符要求造成的。代码太长了,看到就头疼,先简化一下吧:Hx(1) = 0 Hx(2) = 0 Hx(3) = 0 ...Hx(13) = 0 Hx(14) = 0 可以简化为:Erase Hx If plantheight < 10 Then Hx(1) = Hx(1) + ...