2014-10-04 3 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

+0

Там на самом деле это не нужно – Codexer

+0

Если я добавлю его в свой код без конца, если он говорит, что «If» должен заканчиваться соответствием «End If». «А теперь я вижу, что ты изменил это» – Creator

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 
Смежные вопросы