我在visual basic 2012中使用IsNumeric()函数。
我的代码就是这个
Dim input As String = "123"
If isNumeric(input) Then
'number codes
Else
'not a number codes
End If
我在isNumeric(输入)部分得到错误
isNumeric是一个名称空间,不能用作表达式
我只想知道这有什么问题,我找不到任何有关此功能已经改变的文档或其他内容。
答案 0 :(得分:5)
听起来你创造了一个名字冲突。您可能已将项目命名为“IsNumeric”。默认情况下,项目的根命名空间以项目命名,因此您现在拥有一个名为“IsNumeric”的根命名空间,该命名空间优先于IsNumeric
方法。
有很多选项可以解决这个问题。首先,您可以将项目的根命名空间更改为“IsNumeric”以外的其他名称,您可以在项目属性中执行此操作。或者,您可以使用其名称空间,模块或两者来限定方法名称,即使用Microsoft.VisualBasic.IsNumeric
,Information.IsNumeric
或Microsoft.VisualBasic.Information.IsNumeric
。
我倾向于建议不要使用IsNumeric。它无法区分数字类型,也无法访问实际数值。如果您需要执行任何此类操作,请调用相应的TryParse
方法,例如
Dim number As Double
If Double.TryParse(someText, number) Then
'The input was a valid Double and the value is in 'number'.
Else
'The input was not a valid Double.
End If
请注意,IsNumeric
实际上在内部调用Double.TryParse
,这是它首先创建的原因。这就是为什么调用IsNumeric
然后调用CDbl
之类的东西很糟糕:在这种情况下你要解析相同的文本两次。
答案 1 :(得分:0)
这很奇怪,因为IsNumeric是VB.Net中可用的标准函数。尝试创建一个新的控制台应用程序:
Sub Main()
Dim str As String = "123"
If (IsNumeric(str)) Then
End If
End Sub
对我而言,它有效。