Dim d As Single
Dim e As Single
Dim f As Single
Dim p As Single
Function fact(a As Single, b As Single, c As Single)
p = (a + b + c) / 2
fact = (p * (p - a) * (p - b) * (p - c)) ^ (1 / 2)
End Function
Private Sub Form_Load()
d = fact(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text))
e = fact(Val(Text3.Text), Val(Text4.Text), Val(Text5.Text))
f = fact(Val(Text4.Text), Val(Text6.Text), Val(Text7.Text))
End Sub
Private Sub Command1_Click()
Text8.Text = d + e + f
End Sub
点击按钮不管输入的是什么结果都是0???
vb简单计算 本来不等于0 为什么结果是0 啊???
答案:2 悬赏:80 手机版
解决时间 2021-03-05 17:14
- 提问者网友:缘字诀
- 2021-03-04 17:19
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-03-04 18:55
Form_Load()错了,这里的语句都应该放到Command1_Click()里
Form_Load()是打开画面时运行的,你打开画面时text1到text7都是0,经过fact运算出来的的,d,e,f也就都是0了,,然后你再按Command1,运算出来的d + e + f也就是0了
所以你应该把Form_Load()里面的语句都放到Command1_Click()里,按下Command1才运算fact
望采纳。。。。
Form_Load()是打开画面时运行的,你打开画面时text1到text7都是0,经过fact运算出来的的,d,e,f也就都是0了,,然后你再按Command1,运算出来的d + e + f也就是0了
所以你应该把Form_Load()里面的语句都放到Command1_Click()里,按下Command1才运算fact
望采纳。。。。
全部回答
- 1楼网友:醉吻情书
- 2021-03-04 20:16
你这些数组要定义为浮点数(single或double),不能定义为整数(integer或long),小学生都知道,整数是不带小数的,如果把一个纯小数(如0.1234567)赋值给一个整数变量,那么它会自动把小数部分去掉的,这样就变为0了。
如果我说的不对,那就把代码尽可能完整地放出来,光凭这几行是看不出原因的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯