我有两个文本框,用户可以在其中输入数字Data1.text和Data2.text。我需要在继续并关闭表单之前进行简单的检查,即进程应检查Data1和Data2文本框中值的总和是否大于或小于名为FinalValue.text的标签文本中的值,后者获取其值从我的主要表格。
If Data1.Text + Data2.Text <> FinalValue.Text Then
MessageBox.Show("The sum of the entered values are different from the final value!")
Exit Sub
End If
问题是无论用户输入两个文本框,都会弹出消息框。
例如......如果FinalValue标签的值为58.50,并且如果用户输入一个文本框50而另一个文本框为8.50,则会弹出消息框。我想我必须格式化我的文本框或类似的东西,但不确定以哪种方式。
谢谢,
答案 0 :(得分:1)
假设值是整数,请更改条件以匹配整数和,您当前正在连接字符串
CInt(Data1.Text) + CInt(Data2.Text) <> CInt(FinalValue.Text)
或者对于小数,请使用Decimal.Parse()
代替CInt()
答案 1 :(得分:1)
当您执行Data1.Text + Data2.Text时,实际上只是连接值,而不是数字Sum,您需要转换为十进制。
类似的东西:
If Decimal.Parse(Data1.Text) + Decimal.Parse(Data2.Text) <> Decimal.Parse(FinalValue.Text) Then
MessageBox.Show("The sum of the entered values are different from the final value!")
Exit Sub
End If