标题:合格与不合格判断问题
只看楼主
sncelpl
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-6-28
得分:0 
text4,8,12,16,20 运行结果就有%号
2022-04-25 09:23
q3698995
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2020-4-23
得分:1 
回复 楼主 sncelpl
目测是文本格式问题,请把"2%" 改成0.02试试
2022-04-25 10:28
sncelpl
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-6-28
得分:0 
我把判断条件反过来写好是正常了
不知对不对
a = Text4.Text
b = Text8.Text
c = Text12.Text
d = Text16.Text
e = Text20.Text
If a <= "2%" And b <= "2%" And c <= "2%" And d <= "2%" And e <= "2%" Then
Text51 = "合格"
Else
Text51 = "不合格"
End If
If Text24 <= "4%" Then
Text52 = "合格"
Else
Text52 = "不合格"
End If
If a <= "10%" And b <= "10%" And c <= "10%" And d <= "10%" And e <= "10%" Then
Text51 = "合格"
Else
Text51 = "不合格"
End If
If Text24 <= "10%" Then
Text52 = "合格"
Else
Text52 = "不合格"
End If
2022-04-25 11:26
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:0 
要用数值比较,不要用字符串来比较!

dim a as single,b as single,c as single,d single,e as single
a = val(Text4.Text)
b = VAL(Text8.Text)
c = VAL(Text12.Text)
d = VAL(Text16.Text)
e = VAL(Text20.Text)
If a >= 2 And b >= 2 And c >= 2 And d >= 2 And e >= 2 Then
Text51.Text = "不合格"
Else
Text51.Text = "合格"
End If
If Text24 >= 4 Then
Text52.Text = "不合格"
Else
Text52.Text = "合格"
End If
End Sub
2022-04-25 15:56
sncelpl
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-6-28
得分:0 
回复 14楼 cwa9958
要报错数据类型不匹配a,b,c,d,e文件框里有%号

[此贴子已经被作者于2022-4-25 16:19编辑过]

2022-04-25 16:11
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
以下是引用cwa9958在2022-4-25 08:40:33的发言:

vb是不认识% 百分号 这个符号的。
%在vb里是数据类型的作用,代表的是整型。
如果是数值类型,建议:
val(text4)转换为数值类型再比较。


下面是两个百分数的加法运算,想要比较大小不是很容易的事?

程序代码:
Private Sub Form_Load()
Dim a As Single, b As Single
a = Format("13.54%", "0.00####")
b = Format("12.34%", "0.00####")
c = a + b
Debug.Print c
MsgBox Format(c, "0.00%")
End Sub

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2022-04-25 18:44
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:0 
回复 15楼 sncelpl
N那你只要不在文本框里输入%就是了。

或者,你按照16楼的格式转换一下数据也一样。
用数值比较是不会出错的。
字符串比较不好的。
比如:"9" 比"100"大。除非补足位数,比如"009"

[此贴子已经被作者于2022-4-28 10:03编辑过]

2022-04-28 09:38
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:57
帖 子:713
专家分:556
注 册:2016-6-29
得分:0 
回复 楼主 sncelpl
大家讨论的挺热闹,由于最近时间紧迫,顾不上这些了,忙完了,一定静下心来,好好补一补。

素数问题的解决是我学习编程永恒的动力。
2022-04-29 21:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508926-1-1.html




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

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