| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1389 人关注过本帖
标题:各位老师帮我看看为什么?
只看楼主 加入收藏
cyl5420
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-6-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
各位老师帮我看看为什么?
text2输入小于1的数就出错


Private Sub Label1_Click() '''''''''谐振频率
If Val(Text2.Text) And Val(Text3.Text) <> 0 Then
Text7.Text = 1 / (6.28318530714 * Sqr(Val(Text3.Text) / 1000 * Val(Text2.Text) / 1000000))
Else: Text7.Text = "请输入正确的数值"
End If
If Val(Text4.Text) And Val(Text3.Text) <> 0 Then
Text7.Text = 1 / (0.0394784176 * Val(Text4.Text) * Val(Text4.Text) * Val(Text3.Text))
Else: Text7.Text = "请输入正确的数值"
End If
If Val(Text4.Text) And Val(Text2.Text) <> 0 Then
Text7.Text = 1 / (0.0394784176 * Val(Text4.Text) * Val(Text4.Text) * Val(Text2.Text))
Else: Text7.Text = "请输入正确的数值"
End If
2016-06-14 07:08
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
If Val(Text2.Text) And Val(Text3.Text) <> 0 Then
text2 内容转数值 与 text3 的内容转数值。然后用整数部分执行 AND 位操作,最后结果是否等于0 。
请问你的问题出在那一部分?

授人于鱼,不如授人于渔
早已停用QQ了
2016-06-14 08:18
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:4 
我执行没报错,你输入的都是什么数。
图片附件: 游客没有浏览图片的权限,请 登录注册

输入负数报错,因为负数不能开平方。
2016-06-14 08:39
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:4 
从代码来看没有什么问题,有可能是风版说的这样的问题
另外,提问的时候说清楚问题是什么。毕竟你提供的只是一个片段,别人复现你的错误有一定难度。
你说的出错可以是调试错误,那么出错位置、错误信息。 也可能是计算结果出错。
2016-06-14 08:43
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
收藏
得分:4 

If Val(Text4.Text) And Val(Text2.Text) <> 0 Then 'Text4没有任何判断作用
Text7.Text = 1 / (0.0394784176 * Val(Text4.Text) * Val(Text4.Text) * Val(Text2.Text))
Else: Text7.Text = "请输入正确的数值"   '程序运行后,前面两个判断都没用,只显示这结果,因为所有结果都在Text7显示。
End If

调试失败3次后,关机睡觉,当醒来时多有收获。
2016-06-14 08:54
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:4 
If Val(Text2.Text) And Val(Text3.Text) <> 0 Then   这个语句应该有问题吧?
应该是 If Val(Text2.Text) <> 0  And Val(Text3.Text) <> 0 Then
另外 Text7.Text = 1 / (6.28318530714 * Sqr(Val(Text3.Text) / 1000 * Val(Text2.Text) / 1000000))
如果Val(Text2.Text) < 0,那么 Val(Text3.Text) / 1000 * Val(Text2.Text) / 1000000这部分好像是负值,还能Sqr吗
应该是Text7.Text = 1 / (6.28318530714 * Sqr(Abs(Val(Text3.Text)) / 1000 * Abs(Val(Text2.Text)) / 1000000))
在Sqr内的变量应该取绝对值。

[此贴子已经被作者于2016-6-14 13:28编辑过]


请不要选我!!!
2016-06-14 13:19
快速回复:各位老师帮我看看为什么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068280 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved