首页 > 解决方案 > ISNUMERIC 和空字符串

问题描述

我想创建一个应用程序,如果有人输入数字,它将被输入到列表框中,但如果有人输入字母或将文本框留空,则应出现一个消息框。这该怎么做?谢谢。

  Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
            Dim grade As Double
            grade = CDbl(txtGrades.Text)
            If grade >= 0 And IsNumeric(grade) = True Then

                lstGrades.Items.Add(grade)
                txtGrades.Text = " "

            ElseIf txtGrades.Text = " " Then
                MessageBox.Show("Number cannot be less than 0", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

            ElseIf IsNumeric(txtGrades.Text) = False Then
                MessageBox.Show("Number cannot be an alphabet", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            End If
  End Sub

标签: vb.net

解决方案


您可以通过使用来简化逻辑并消除错误TryParse。此方法确定 String 是否可以转换为 Double 并返回 True 或 False 以及转换后的值:

   Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
      Dim grade As Double

      If Double.TryParse(txtGrades.Text, grade) Then
         lstGrades.Items.Add(grade)
         txtGrades.Text = " "
      Else
         MessageBox.Show("Number cannot be an alphabet", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
      End If
   End Sub

推荐阅读