大于男性总数

时间:2019-03-27 07:21:07

标签: vb.net

我仍在运行该程序,但是当我运行它时,如果在文本框中输入数字,则会同时显示消息框。

如何为此编写一个好的代码-如果我的总人数是男性,并且我要输入的是原住民人数,并且如果该人数大于总人数,则该消息框。

请帮助提供正确的代码。

Private Sub TxtIM_TextChanged(sender As Object, e As EventArgs) Handles TxtIM.TextChanged
        If TxtMTotal.Text > TxtMTotal.Text Then
            MessageBox.Show("Must be Greater Than Total of Male")
        End If



    End Sub

Private Sub TxtIM_TextChanged(sender As Object, e As EventArgs) Handles TxtIM.TextChanged
        If TxtMTotal.Text > TxtMTotal.Text Then
            MessageBox.Show("Must be Greater Than Total of Male")
        End If



    End Sub

1 个答案:

答案 0 :(得分:0)

问题是因为您要比较String类型而不是“整数类型”。

当VB.Net比较两种Integer类型时,它将比较数字以查看哪个更大。没问题。

但是。比较字符串时,将按单个字符进行比较。假设您有两个字符串..“ 9”和“ 31”。 VB将查看第一个字符“ 9”,并将其与第二个字符串中的第一个字符“ 1”进行比较。 9的字符代码为57,1的ASCII代码为49。一旦VB.net发现差异,它将停止比较其余字符串。您的第二个字符串可能是“ 31543543”,VB仍然会看到“ 9”更大。

要解决您的问题,您需要确保VB在比较数字而不是字符。为此,有几种方法。

最简单的目的是

If Integer.Parse(TxtMTotal.Text) > Integer.Parse(TxtMTotal.Text) Then
    MessageBox.Show("Must be Greater Than Total of Male")
End If