Esta es la solución más exacta que encomtrarás brindar, pero primero estúdiala detenidamente y analiza si es compatible a tu proyecto.
Solución:
Un truco muy simple es intentar analizar el string como un entero. Si tiene éxito, es un número entero (sorpresa sorpresa).
Dim childAgeAsInt As Integer
If Integer.TryParse(childAge, childAgeAsInt) Then
' childAge successfully parsed as Integer
Else
' childAge is not an Integer
End If
Complementando la respuesta de Styxxy, si no necesita un resultado, simplemente reemplácelo por vbNull:
If Integer.TryParse(childAge, vbNull) Then
Puede realizar las dos pruebas siguientes para estar razonablemente seguro de que la entrada que obtiene es un número entero:
If IsNumeric(childAge) AndAlso (InStr(1, childAge, ".") <> 0) Then
fmSecA2 = "Wow! You are already " & childAge & " years old? You're growing to be a big " & childGender & " now! "
If childAge < 0 OrElse childAge > 150 Then
fmSecA2 = "I don't believe it's possible to be" & childAge & " years old..."
End If
Else
fmSecA2 = "Erm, I couldn't really understand your age. Are you making this up? Ho ho ho!"
La función InStr devuelve cero si no encuentra el string que se está buscando, por lo que al combinar esa prueba con IsNumeric, también descarta la posibilidad de que se haya ingresado algún tipo de datos de punto flotante.
Comentarios y valoraciones
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)