Visual Basic.NET - validar punto decimal en textbox

 
Vista:

validar punto decimal en textbox

Publicado por flor isabel (1 intervención) el 12/06/2008 19:48:23
hola a todos espero que puedan aydarme.
lo que quiero hacer es validar la entrada de numeros a un text box. en realidad ya lo logre lo que no he podido hacer es validar que solo me permita ingresar solo un punto decial...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:validar punto decimal en textbox

Publicado por P. J. (706 intervenciones) el 12/06/2008 19:54:30
Puedes usar esta funcion, o usar solo lo necesario:

Public Function Numero(ByVal e As System.Windows.Forms.KeyPressEventArgs, ByRef cajasTexto As TextBox) As Boolean
If UCase(e.KeyChar) Like "[!0-9.-]" Then
Return True
End If

Dim c As Short = 0
If UCase(e.KeyChar) Like "[.]" Then
If InStr(cajasTexto.Text, ".") > 0 Then
Return True
Else
Return False
End If
End If
End Function

En el evento KeyPress de tu caja de texto:
e.Handled = Numero(e, txtTotal)' txtTotal, caja de texto a validar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar punto decimal en textbox

Publicado por Luis Alberto (1 intervención) el 13/02/2009 16:50:44
Agregando a lo que los demas enviaron te puedo enviar una
combinacion de esas funciones, pues yo utilice cada una por separado
pero combinandolas me permitian ingresar numeros decimales
con un solo decimal y borrarla sin problema, puedes combinar las dos
funciones en una sola, espero sea util

' esta funcion te permite ingresar solo decimales

public Function SoloDecimales(ByVal Keyascii As Short) As Short
If InStr("1234567890.", Chr(Keyascii)) = 0 Then
SoloDecimales = 0
Else
SoloDecimales = Keyascii
End If
Select Case Keyascii
Case 8
SoloDecimales = Keyascii
Case 13
SoloDecimales = Keyascii
End Select
End Function

'esta Funcion te permite ingresar solo un punto decimal

Function numero(ByVal e As System.Windows.Forms.KeyPressEventArgs, ByRef cajasTexto As TextBox) As Boolean
If UCase(e.KeyChar) Like "[.]" Then
If InStr(cajasTexto.Text, ".") > 0 Then
Return True
Else
Return False
End If
End If
End Function

'en el evento keypress del text ingresar:

Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
KeyAscii = CShort(SoloDecimales(KeyAscii))
If KeyAscii = 0 Then
e.Handled = True
End If
e.Handled = Numero(e, txtTexto) 'txtTexto caja de texto a validar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar punto decimal en textbox

Publicado por richard (1 intervención) el 28/02/2014 23:53:41
wow... es cierto esta super, muchas gracias no sabia que hacer me ha servido mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar punto decimal en textbox

Publicado por carlos (1 intervención) el 06/05/2009 20:32:58
muy buna he gracias...!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar punto decimal en textbox

Publicado por jorge Eyner (1 intervención) el 12/11/2008 01:37:48
Public Class Form1

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim numero As Decimal
Dim cadena As String
Try
cadena = TextBox1.Text
numero = Convert.ToDecimal(e.KeyChar.ToString)

Catch ex As Exception
If e.KeyChar <> "." Or e.KeyChar.Equals(vbBack) Then
e.Handled = True
Else

If (cadena.LastIndexOf(".") > 0) Then
e.Handled = True
End If
End If
End Try

End Sub


End Class

ahi esta el codigo saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar