请问这段程序有什么问题
--------------------编程问答-------------------- 问题出在Text5.Text赋值上计算的结果是数值
加上Str就好
Text5.Text = Str(a / b) --------------------编程问答--------------------
在 Text2.Text 输入值时出现类型不匹配,怎么回事,我觉得没有问题
--------------------编程问答-------------------- 要不这样看看
先
Dim a, b, c As String
a = Text1.Text
b = Text2.Text
c = Text3.Text
然后
Text5.Text = Str(CSng(a) / CSng(b)) --------------------编程问答-------------------- 1L说的没错阿.
出问题的语句在text2_change中,当然是text2输入时报错。 --------------------编程问答--------------------
请问一下,那要怎么改 --------------------编程问答-------------------- 在text2_change中的两处text5.tex=改为如下:
text5.text=cstr(a/b)
text5.text=cstr(c/d) --------------------编程问答-------------------- 代码没有错.
a = CSng(Text1.Text)
b = CSng(Text2.Text)
c = CSng(Text3.Text)
'当你在更改Text2 的内容时,你要确信 Text1 Text2 Text3内的内容均为数值.
建议作如下更改:
........
........
If IsNumeric(Text1.Text) And IsNumeric(Text2.Text) And IsNumeric(Text3.Text) Then '判断 Text1 Text2 Text3 是否为数值
a = CSng(Text1.Text)
b = CSng(Text2.Text) '增加一句 if B=0 then B=1 'B不能等于0,要不后面会出现错误.
c = CSng(Text3.Text)
Else
a = 0
b = 1 'B不能等于0,要不后面会出现错误.
c = 0
'Text1 Text2 Text3 中有非数值内容
End If
..........
.......... --------------------编程问答-------------------- b 不能等于0,三个文本框中必须都要限制是整数 --------------------编程问答-------------------- 坐等高手解答`` --------------------编程问答-------------------- 问题在text2_change这个事件上,只要text2里面的内容一发生变化,马上启动下面的程序。关键是你要实现这个目标的思路是什么?为什么把text2_change下的程序要放在text2发生变化的事件里呢?只要text2一输入一个字符,也就是说它的内容发生了变化,此时,下面的程序已经触发。所以请想哈变通办法,不要用text2_change这个事件。 --------------------编程问答-------------------- 给text赋值用不着转换,不然你随便在程序里试一下就知道了。
补充:VB , 基础类