Vb.net 返回错误值的简单if语句逻辑
我有最简单的if语句来计算一个人是否通过了考试,当我运行代码时,结果总是显示为失败Vb.net 返回错误值的简单if语句逻辑,vb.net,Vb.net,我有最简单的if语句来计算一个人是否通过了考试,当我运行代码时,结果总是显示为失败 Public Class Form1 Dim EnglishMark As Single Dim ScienceMark As Single Dim MathsMark As Single Dim AverageMark As Single Private Sub btnCalculate_Click(sender As Object, e As EventArgs) H
Public Class Form1
Dim EnglishMark As Single
Dim ScienceMark As Single
Dim MathsMark As Single
Dim AverageMark As Single
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
EnglishMark = Val(txtEnglish.Text)
ScienceMark = Val(txtScience.Text)
MathsMark = Val(txtMaths.Text)
AverageMark = (EnglishMark + ScienceMark + MathsMark) / 3 / 100
If (AverageMark >= 50) Then
lblDisplay.Text = "You Passed Well Done" & Format(AverageMark, "Percent")
Else
lblDisplay.Text = "You Failed Try Again" & Format(AverageMark, "Percent")
End If
End Sub
End Class
谢谢输入字段的值是多少?为什么要将它除以
100
?这个除法并没有使它成为一个百分比(如果这是您的意图)。(100+100+100)/3/100=1这是一个失败。当您使用调试器逐步处理代码时,您观察到了什么?如果你不把if
语句都写在一行上,你的代码会更可读。你可能需要(EnglishMark+ScienceMark+MathsMark)/(3*100)
另外,请不要把if
语句写在这样一行上。唯一的例外是当它是一个简短的If
语句(没有Else
)时。或者,您可以使用类似lblDisplay.Text=If(条件、值iftrue、值iffalse)
。但也要避免在表达式很长时这样做。