Visual Basic.NET - Validar Decimales en textbox

 
Vista:

Validar Decimales en textbox

Publicado por Taty (1 intervención) el 24/08/2006 23:13:49
Tengo un textbox que quiero que solo me valide numero entero y/o decimales. por favor quien pueda ayudarme... es urgente... gracias.
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 Decimales en textbox

Publicado por roberto (29 intervenciones) el 24/08/2006 23:36:00
Quisiera que me dieras mas alcances acerca de lo que necesitas , pues yo puedo ayudarte para que en tu texbox solo te permita digitar numeros y no algun otro caracter , pero antes quisiera que me confirmaras si eso es lo que necesitas o no.

Espero tu respuesta.

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

RE:Validar Decimales en textbox

Publicado por Miguel R. (14 intervenciones) el 25/08/2006 01:18:58
si quieres q el textbox valide solo numeros puedes hacer el sgte codigo en el evento KeyPress del textbox :

Dim tecla as Integer
tecla = Asc(e.KeyChar)

Select Case tecla
Case 45, 46, 48 To 57, 8, 13
'no se hace nada, osea permite la entrada de esos caracteres
Case Else
tecla = 0
End Select

If tecla = 0 Then
e.Handled = True
Else
e.Handled = False
End If

Ahora te explico el codigo:
los KeyAscii 48 a 57 son los numeros enteros del 1 al 9
KeyAscii 45 es el signo menos ("-")
KeyAscii 46 es el punto (".")
KeyAscii 8 es el BackSpace (para q se pueda borrar en el textbox)
KeyAscii 13 es el Enter

el metodo Handled del objeto "e" hace q cuando tecla=0(es decir cuando se pulsa una tecla q no es un numero) no escriba nada en el textbox, en caso contrario (osea cuando se pulsa un numero) sí se escriba en el textbox.

Espero q te pueda servir.
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 Decimales en textbox

Publicado por Harold (8 intervenciones) el 25/08/2006 15:31:31
'Lo utilizas de esta manera: En el Lostfocus de tu textbox

'Si encuentra un error como estos: ,00, ó 0,00, ó ,00 ó 00,
'Te mostrara un error diciendo que los datos no son correctos y si en cambio
'escribes 2,23 no te saldra el error y pasara a lasiguiente casilla .

Ejm:
Private Sub txtiva_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtIVA.LostFocus
Call VerificaDecimales(sender, txtiva.text)
End Sub

' Espero te ayude.........

Public Sub VerificaDecimales(ByVal sender As Object, ByVal Valor As String)
Dim datdecim As Int32 = 0
Dim ins As Int32 = 0
Dim x As Int32
For x = 1 To Valor.Length
If Mid(Valor, x, 1) = "," Then
datdecim += 1
End If
Next
ins = InStr(Valor, ",", CompareMethod.Text)
If ins <> 0 Then
If ins = 1 Or ins = Valor.Length Or datdecim >= 2 Then
MessageBox.Show("El valor introducido no es correcto, verifique para continuar", "Artículos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
sender.Focus()
End If
End If
End Sub
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 Decimales en textbox

Publicado por Nico (64 intervenciones) el 27/08/2006 03:10:43
Este codigo podrias usar en el evento click de un boton, o en un valideting del textbox

textbox1.text=trim(textbox1.text)
If not isnumeric(textbox1.text) then
msgbox("Debe escribir un numero")
textbox1.SelectAll()
textbox1.focus()
Exit Sub
End if

Si queres que considere el tema de la coma, como por ejemplo que ingrese:
,00
0,
tendrias que hacer lo siguiente, luego de la validacion isnumeric:

dim coma as integer=instr(textbox1.text,",")

If coma <> 0 Then
'ejemplo ,00
If coma = 1 Then
MsgBox("Debe ingresar un numero antes de la coma")
TextBox1.Focus()
Exit Sub
End If
'ejemplo 0,
If Len(Mid(TextBox1.Text, coma + 1)) = 0 Then
MsgBox("Debe ingresar algo despues de la coma")
TextBox1.Focus()
Exit Sub
End If
End If

Espero que te sirva. 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