如何防止VB.NET中的非数字输入?

如何防止VB.NET中的非数字输入?,vb.net,user-input,validation,Vb.net,User Input,Validation,我正在开发一个程序,要求用户输入一个整数。如何防止用户输入非数值?我尝试使用IsNumeric()函数,但在使用它之前出现了一个错误。在调用IsNumeric()函数之前,我在console.read中得到了错误。这是我的密码: Dim num As Integer Console.Write("enter num:") num = Console.ReadLine If IsNumeric(num) = True Then Console.Writ

我正在开发一个程序,要求用户输入一个整数。如何防止用户输入非数值?我尝试使用IsNumeric()函数,但在使用它之前出现了一个错误。在调用IsNumeric()函数之前,我在console.read中得到了错误。这是我的密码:

Dim num As Integer

    Console.Write("enter num:")
    num = Console.ReadLine 

    If IsNumeric(num) = True Then
        Console.WriteLine("valid. num = " & num)
    Else
        Console.WriteLine("invalid")
    End If

非常感谢您的帮助

您可以读取字符串,然后尝试将其转换为整数。捕获转换产生的任何异常,以处理非数字输入。

这正是
Integer.TryParse()
设计的目的<如果您测试的字符串无法转换为整数,则code>TryParse将返回false。

请尝试以下操作:

Dim num As Integer

Console.Write("enter num:")
Dim input = Console.ReadLine

If Integer.TryParse(input, num) Then
    Console.WriteLine("valid. num = " & num)
Else
    Console.WriteLine("invalid")
End If
在C#抱歉


不如尝试以下方式:

Dim num as Integer
Console.Write("Enter num: ")

While (Not (Integer.TryParse(num, Console.ReadLine())))
    Console.WriteLine("Please enter an Integer only: ")
End While

TryParse方法尝试解析输入值,如果无法将该值解析为所述类型,则返回false。上述代码将询问用于输入的,直到他们输入一个整数。

您能更具体地说明错误吗?您使用的是文本框之类的输入控件,还是仅仅是控制台应用程序?
Dim num as Integer
Console.Write("Enter num: ")

While (Not (Integer.TryParse(num, Console.ReadLine())))
    Console.WriteLine("Please enter an Integer only: ")
End While