VB.NET | Verificar se um campo é Integer

diog0silva

Power Member
Boas.

Queria saber se existe alguma função que verifique se o valor de determinado campo é integer. Sei que existe a função IsNumeric, mas essa aceita valores decimais.

Cumprimentos.
 
Com o GetType não consegui :\

Mas fiz assim:

If TextBox.Text = Int(TextBox.Text) Then
MsgBox("É inteiro.")
Else
MsgBox("Não é inteiro.")
End If

..e acho que resultou lol :D
 
Acredito que a framework tenha uma solução para isso, mas sinceramente nunca precisei e como tal nunca senti necessidade de procurar.
Entretanto, para resolveres a situação, podes criar uma solução sapateira:

Código:
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Numero1 As String = 45
        Dim Numero2 As String = 45.5

        MsgBox("Numero " & Numero1 & " é inteiro? " & IsInteger(Numero1))
        MsgBox("Numero " & Numero2 & " é inteiro? " & IsInteger(Numero2))
    End Sub

    Public Function IsInteger(ByVal Numero As String) As Boolean
        If IsNumeric(Numero) = True Then
            If Numero.Contains(",") = True Then Return False
            Return True
        End If
        Return False
    End Function
End Class

EDIT: Se espetares isto (e por isto, entenda-se o método "IsInteger" apenas) num módulo, ou Shared numa classe qualquer, podes usar tal e qual como usas o "IsNumeric", mas escrevendo o nome do método que criaste "IsInteger"
 
Última edição:
Solução sapateira é a que eu uso, a tua ate e aceitavel :D

Código:
try

    dim num as integer = CInt(strNumero)

    return True

catch ex as exception

    Return False

end try
 
Boas.

Queria saber se existe alguma função que verifique se o valor de determinado campo é integer. Sei que existe a função IsNumeric, mas essa aceita valores decimais.

Cumprimentos.


Para verificares se o campo é Integer podes utilizar o método Integer.TryParse() e fazer:


Código:
        Dim num As Decimal = 45.5
        Dim result As Integer

        If Integer.TryParse(num.ToString(), result) Then
            Stop ' Inteiro
        Else
            Stop ' Não Inteiro
        End If
 
Back
Topo