2014-10-04 25 views
0

我想创建一个函数,检查一个字符串是否在一个坐标的格式(例如:362,352),但我似乎无法想象它正确地输出。这里是我所尝试的:麻烦创建函数来检查字符串的特定格式

Private Function CheckPointIsValid(ByVal CoordsText As String) As Boolean 
    If CoordsText.Contains(",") AndAlso Integer.TryParse(CoordsText = CoordsText.Replace(",", String.Empty), Nothing) Then Return True 
    Return False 
End Function 

无论传递给函数的东西总是返回false。

回答

1

检查你的TryParse ...你把它设置成什么都没有,并且你忘了还有其他的东西返回false ...看到我的答案在下面。

Dim intNumber As Integer = 0 
Dim result As Boolean = Int32.TryParse(CoordsText.Replace(",",String.Empty), intNumber) 

因此,这里是你的函数...

Private Function CheckPointIsValid(ByVal CoordsText As String) As Boolean 

Dim intNumber As Integer = 0 
Dim result As Boolean = Int32.TryParse(CoordsText.Replace(",",String.Empty), intNumber)  

    Return CBool(CoordsText.Contains(",") AndAlso result) 

End Function 
+0

你忘了年底,如果:) – Creator 2014-10-04 04:23:19

+0

有实际上并不需要它 – Codexer 2014-10-04 04:27:08

+0

如果我将它添加到我的代码中而没有结束,如果它说'如果'必须以匹配'End If'结束。 “好了,现在我看到你改变了它” – Creator 2014-10-04 04:35:03

0

这就是我现在使用(它工作正常):

Private Function CheckPointIsValid(ByVal CoordsText As String) As Boolean 
    If CoordsText.Contains(",") AndAlso Integer.TryParse(CoordsText.Replace(",", String.Empty), Nothing) = True Then Return True 
    Return False 
End Function