Vb.net 如果语句赢了';我不能继续
我正试图在VB.net上做一些计算。我使用了Vb.net 如果语句赢了';我不能继续,vb.net,if-statement,Vb.net,If Statement,我正试图在VB.net上做一些计算。我使用了if-else语句,因为我对它有点熟悉。我的代码是这样的 Try Dim a As Integer = msalary.Text If (a < 9000) Then Label5.Text = a - 200 ElseIf (9000 < a < 9999.99) Then Label5.Text = a - 225 E
if-else
语句,因为我对它有点熟悉。我的代码是这样的
Try
Dim a As Integer = msalary.Text
If (a < 9000) Then
Label5.Text = a - 200
ElseIf (9000 < a < 9999.99) Then
Label5.Text = a - 225
ElseIf (10000 < a < 10999.99) Then
Label5.Text = a - 250
ElseIf (11000 <= a < 11999.99) Then
Label5.Text = a - 275
ElseIf (12000 <= a < 12999.99) Then
Label5.Text = a - 300
ElseIf (13000 <= a < 14000) Then
Label5.Text = a - 325
ElseIf (14000 <= a < 15000) Then
Label5.Text = a - 350
ElseIf (15000 <= a < 16000) Then
Label5.Text = a - 375
ElseIf (17000 <= a < 18000) Then
Label5.Text = a - 400
ElseIf (18000 <= a < 19000) Then
Label5.Text = a - 425
ElseIf (19000 <= a < 20000) Then
Label5.Text = a - 450
ElseIf (20000 <= a < 21000) Then
Label5.Text = a - 475
ElseIf (21000 <= a < 22000) Then
Label5.Text = a - 500
ElseIf (22000 <= a < 23000) Then
Label5.Text = a - 525
ElseIf (23000 <= a < 24000) Then
Label5.Text = a - 550
ElseIf (24000 <= a < 25000) Then
Label5.Text = a - 575
ElseIf (25000 <= a < 26000) Then
Label5.Text = a - 600
ElseIf (26000 <= a < 27000) Then
Label5.Text = a - 625
ElseIf (27000 <= a < 28000) Then
Label5.Text = a - 650
ElseIf (28000 <= a < 29000) Then
Label5.Text = a - 675
ElseIf (29000 <= a < 30000) Then
Label5.Text = a - 700
ElseIf (30000 <= a < 31000) Then
Label5.Text = a - 725
ElseIf (31000 <= a < 32000) Then
Label5.Text = a - 750
ElseIf (32000 <= a < 33000) Then
Label5.Text = a - 800
ElseIf (33000 <= a < 34000) Then
Label5.Text = a - 825
ElseIf (34000 <= a < 35000) Then
Label5.Text = a - 850
ElseIf (a >= 35000) Then
Label5.Text = a - 875
ElseIf a = "" Then
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
试试看
将a调整为整数=msalary.Text
如果(a<9000),则
Label5.Text=a-200
ElseIf(9000ElseIf(11000看起来您的If/ElseIf
语句中缺少了一些和。通常,如果不进行转换,您将无法从字符串转换为整数,因此我猜您没有选项
Try
Dim a As Integer = msalary.Text
If (a < 9000) Then
Label5.Text = a - 200
ElseIf (9000 <= a AndAlso a < 10000) Then
Label5.Text = a - 225
ElseIf (10000 <= a AndAlso a < 11000) Then
Label5.Text = a - 250
ElseIf (11000 <= a AndAlso a < 12000) Then
Label5.Text = a - 275
ElseIf (12000 <= a AndAlso a 13000) Then
Label5.Text = a - 300
ElseIf (13000 <= a AndAlso a < 14000) Then
Label5.Text = a - 325
ElseIf (14000 <= a AndAlso a < 15000) Then
Label5.Text = a - 350
ElseIf (15000 <= a AndAlso a < 16000) Then
Label5.Text = a - 375
ElseIf (17000 <= a AndAlso a < 18000) Then
Label5.Text = a - 400
ElseIf (18000 <= a AndAlso a < 19000) Then
Label5.Text = a - 425
ElseIf (19000 <= a AndAlso a < 20000) Then
Label5.Text = a - 450
ElseIf (20000 <= a AndAlso a < 21000) Then
Label5.Text = a - 475
ElseIf (21000 <= a AndAlso a < 22000) Then
Label5.Text = a - 500
ElseIf (22000 <= a AndAlso a < 23000) Then
Label5.Text = a - 525
ElseIf (23000 <= a AndAlso a < 24000) Then
Label5.Text = a - 550
ElseIf (24000 <= a AndAlso a < 25000) Then
Label5.Text = a - 575
ElseIf (25000 <= a AndAlso a < 26000) Then
Label5.Text = a - 600
ElseIf (26000 <= a AndAlso a < 27000) Then
Label5.Text = a - 625
ElseIf (27000 <= a AndAlso a < 28000) Then
Label5.Text = a - 650
ElseIf (28000 <= a AndAlso a < 29000) Then
Label5.Text = a - 675
ElseIf (29000 <= a AndAlso a < 30000) Then
Label5.Text = a - 700
ElseIf (30000 <= a AndAlso a < 31000) Then
Label5.Text = a - 725
ElseIf (31000 <= a AndAlso a < 32000) Then
Label5.Text = a - 750
ElseIf (32000 <= a AndAlso a < 33000) Then
Label5.Text = a - 800
ElseIf (33000 <= a AndAlso a < 34000) Then
Label5.Text = a - 825
ElseIf (34000 <= a AndAlso a < 35000) Then
Label5.Text = a - 850
ElseIf (a >= 35000) Then
Label5.Text = a - 875
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
试试看
将a调整为整数=msalary.Text
如果(a<9000),则
Label5.Text=a-200
ElseIf(9000我不会使用如此巨大的条件分支,我会找到一种更具算法性的方法
例如:
Option Strict On
Option Explicit On
Option Infer Off
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim salary As Integer = 34567, subtractor As Integer = 200
Dim r As Range = GetSalaryRange(salary)
For I As Integer = 9000 To r.Lower Step 1000
subtractor += 25
Next
Label5.Text = (salary - subtractor).ToString
End Sub
Function GetSalaryRange(salary As Integer) As Range
If salary < 9000 Then Return New Range() With {.Lower = 0, .Upper = 8999}
Dim remainder As Integer = salary Mod 1000
Return New Range With {.Lower = salary - remainder, .Upper = salary - remainder + 999}
End Function
Public Class Range
Public Lower, Upper As Integer
Public Function Contains(number As Integer) As Boolean
If number >= Lower AndAlso number <= Upper Then Return True Else Return False
End Function
End Class
End Class
选项严格打开
选项显式打开
选项推断
公开课表格1
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
整数为34567的微薄工资,整数为200的减法器
Dim r As Range=GetSalaryRange(薪资)
对于I,整数=9000到r。降低步骤1000
减法器+=25
下一个
Label5.Text=(工资-减法器).ToString
端接头
函数GetSalaryRange(薪资为整数)为范围
如果薪资<9000,则返回新的范围(),其中包含{.Lower=0,.Upper=8999}
将余数调整为整数=薪资模块1000
返回带有{.Lower=salary-restinutes、.Upper=salary-restinutes+999}的新范围
端函数
公共类范围
公共下限,上限为整数
公共函数包含布尔值(数字为整数)
If number>=Lower AndAlso number hello。每当我清除或擦除文本框中“a”的数字时,我都会收到此错误消息。它表示从字符串转换为键入“Integer”无效。
。知道该怎么做吗?添加一个if语句,检查文本框是否为空。我之前尝试过。gues我将其放置在该位置。谢谢这缺少一个16k到17k的案例