【发布时间】:2019-03-28 05:46:48
【问题描述】:
我想要一个验证方法来确保输入的值是有效的,它必须是一个整数(可以包括负数)并且不能为空。我已经写了这段代码,但是不正确,请有人帮助我。谢谢
If (b <> Integer Or " ") Then
Console.WriteLine("Value entered must be a number")
End If
new code:
Line98:
Console.WriteLine("Please input the value of, B:")
b = Console.ReadLine()
If Not Integer.TryParse(b, New Integer) Then
Console.WriteLine("Value entered must be a number")
GoTo Line98
End If
所以我使用了一个 select 语句,如果用户输入“abckak”任何非数字数据,我会收到错误 Unhandled Exception: System.InvalidCastException: Conversion from string “gakjdg” to type 'Integer' is not valid.
如何解决这个问题,这是我的代码的一个简单示例
Console.WriteLine("..........Main Menu..........")
Console.WriteLine("Please input 1 ")
Console.WriteLine("Please input 2")
Console.WriteLine("Please input 3 ")
Console.WriteLine("Please input 4 ")
Console.WriteLine("Please input 5 for Help")
Console.WriteLine("Please input 6 to Exit")
Console.WriteLine("Please enter your choice: ")
Choice = Console.ReadLine()
Select Case Choice
case1; etc
Case Else
Console.WriteLine("Error: " & Choice & " is not a option, Please try again")
【问题讨论】:
-
If Not Integer.TryParse(b, New Integer) Then.... 这是一个快速的解决方案,适合您的需求。请see 更多关于TryParse... -
@Çöđěxěŕ,但是我试过了,我输入 f 让我们说,我得到错误 Unhandled Exception: System.InvalidCastException: 从字符串“f”到类型“整数”的转换无效跨度>
标签: vb.net validation