0

我目前有这行代码已经工作了 6 个月:

If IsNumeric(txtProductID.Text) Then
   ...do stuff
Else
   Dim msg As String = "Error!"
End If

突然之间,无论输入什么样的条目txtProductID(包括纯数字),它都失败了!我有理由为此发疯吗?

4

3 回答 3

3

有点像在黑暗中拍摄,但需要注意的一点是,也许有人在同一个类中编写了一个名为 IsNumeric 的私有方法。您确定上面的代码正在执行 Microsoft.VisualBasic.IsNumeric() 吗?如果将光标放在 IsNumeric 上并按 F12,定义指向哪里?

于 2009-08-02T18:35:36.777 回答
2

Trim()在将字符串传递给函数之前尝试ing 字符串。此外,IsNumeric您可以尝试这样的方法,而不是使用 VB 特定的函数:

Dim input as Integer

If Integer.TryParse(txtProductID.Text, input) Then
    ....do stuff with input
Else
    Dim msg as String = "Error!"
End if

如果您的数字是十进制数,则Double和也有相应的功能Single

至于失败的具体原因IsNumeric,我无法告诉你。不过,我可以告诉你,我一直发现坚持使用与语言无关而不是特定于语言的 BCL 兼容函数很有帮助,例如IsNumeric,Str等。

于 2009-08-02T18:32:15.613 回答
0

呃......我是个白痴......感谢你们的帮助,但显然我在接受输入之前清除了我的整个表格,所以“”永远不会作为“IsNumeric”传递。请不要再看这个问题了。我感觉不舒服。

再次感谢您的帮助。

于 2009-08-02T18:41:59.647 回答