elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Validar textbox numerico en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Validar textbox numerico en C#  (Leído 35,925 veces)
oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Validar textbox numerico en C#
« en: 18 Abril 2010, 22:52 pm »

Hola, sere claro, tengo que validar un textbox, que solo acepte numeros en double. El problema está en que quiero escribir un real y debo poner el "." si es que se trata de un decimal o el signo "-" si es que es un numero negativo. Intente hacer un ejemplo pero tiene errores en la linea 6, aqui esta:

Código
  1. private void soloNumeros(object sender, KeyPressEventArgs e)
  2. {
  3. if (e.KeyChar == (char)Keys.Back
  4. || e.KeyChar == (char)Keys.Delete
  5. || e.KeyChar == (char)Keys.Left
  6. || e.KeyChar == (char)Keys.Right
  7. || IsNumber(e.KeyChar.ToString()))
  8. {
  9. TextBox obj = sender as TextBox;
  10.  
  11. if (e.KeyChar == '.' && obj.Text.IndexOf('.') > 0)
  12. e.Handled = true;
  13. else
  14. e.Handled = false;
  15. }
  16. else
  17. e.Handled = true;
  18. }
  19.  


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Validar textbox numerico en C#
« Respuesta #1 en: 18 Abril 2010, 23:17 pm »

Podes crear una expresión regular algo así:
Código:
Reg-Exp: ^(?:\+|-)?\d+\.\d+$
PoC:
Código:
-1.2
1.2


En línea

Te vendería mi talento por poder dormir tranquilo.
oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Re: Validar textbox numerico en C#
« Respuesta #2 en: 18 Abril 2010, 23:25 pm »

no entendi lo que quisiste explicarme, si puedes implementalo en el codigo que coloqué a ver si asi te comprendo mejor, gracias
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Validar textbox numerico en C#
« Respuesta #3 en: 18 Abril 2010, 23:31 pm »

Creo que eso es masomenos así, lo codee de memoria, así que puede tener errores.

Código
  1. string strCadena = '-1.2';
  2. string strRegExp = "^(?:\\+|-)?\\d+\\.\\d+$";
  3.  
  4. if (System.Text.RegularExpressions.Regex.IsMatch(strCadena, strRegExp)){
  5.   System.Console.WriteLine("Valido");
  6. }else{
  7.   System.Console.WriteLine("Invalido");
  8. }
En línea

Te vendería mi talento por poder dormir tranquilo.
oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Re: Validar textbox numerico en C#
« Respuesta #4 en: 19 Abril 2010, 00:19 am »

tiene errores jaja, perdoname pero no comprendo tu logica y bueno.. gracias de todas formas, aun asi no lo logre  :huh:
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Validar textbox numerico en C#
« Respuesta #5 en: 19 Abril 2010, 01:07 am »

wtf! apoco nunca haz usado expresiones regulares?
En línea

Te vendería mi talento por poder dormir tranquilo.
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Validar textbox numerico en C#
« Respuesta #6 en: 19 Abril 2010, 01:16 am »

oscarj24, Date una vuelta y vuelves ._.

http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular.

Si se te hace muy dificil entonces:
Código
  1.            string Comprobar = "Hola";
  2.            long Dft = 0;
  3.  
  4.            bool EsNumerico = long.TryParse(Comprobar, out Dft);
  5.  
  6.            MessageBox.Show(Convert.ToString(EsNumerico));

Donde EsNumerico es True si es numero y False si no es.
« Última modificación: 19 Abril 2010, 01:27 am por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
JuanRaGD

Desconectado Desconectado

Mensajes: 22


Smart Device Development


Ver Perfil
Re: Validar textbox numerico en C#
« Respuesta #7 en: 19 Abril 2010, 02:05 am »

Hola.
No te entendi bien la pregunta, pero si lo q quiere es q solo ingrese double en el txtbox  yo lo aria asi:

Código:
double numero = 0;
        try
        {
            numero = Convert.ToDouble(TextBox1.Text);
        }
        catch
        {
            Label1.Text = "numero invalido";
        }

Bueno espero que te sirva   :)
« Última modificación: 19 Abril 2010, 02:23 am por JuanRaGD » En línea

“La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no”
– Albert Einstein
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Validar textbox numerico en C#
« Respuesta #8 en: 19 Abril 2010, 03:28 am »

Código
  1. bool Validar Numero(string text) {
  2.   return System.Text. RegularExpressions.Regex.IsMatch(text, @"^[+-]?\d+(?:\.\d+)?$");
  3. }
  4.  

con eso validas la entrada, ahora si quieres validar "en vivo", usa un masked textbox o similar, o si quieres hacerlo a tu estilo puedes probar

Código
  1. private void soloNumeros(object sender, KeyPressEventArgs e)
  2. {
  3. if (e.KeyChar == (char)Keys.Back
  4. || e.KeyChar == (char)Keys.Delete
  5. || e.KeyChar == (char)Keys.Left
  6. || e.KeyChar == (char)Keys.Right
  7. || int.TryParse(e.KeyChar.ToString())
  8. {
  9. TextBox obj = sender as TextBox;
  10.  
  11. if (e.KeyChar == '.' && obj.Text.IndexOf('.') > 0)
  12. e.Handled = true;
  13. else
  14. e.Handled = false;
  15. }
  16. else
  17. e.Handled = true;
  18. }
  19.  

Espero que te sirva, lo hice todo al vuelo
En línea

oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Re: Validar textbox numerico en C#
« Respuesta #9 en: 19 Abril 2010, 05:09 am »

Hola, gracias.. pero preferi hacerlo a mi estilo
pero al momento de la compilacion me salto un error en este punto:

Código
  1. int.TryParse(e.KeyChar.ToString()))

ya que dice:

'Ninguna sobrecarga para el método 'TryParse' acepta '1' argumentos'

espero me puedas ayudar y gracias  ;D
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
triangulo numerico duda
Programación C/C++
cazagavilan 7 5,213 Último mensaje 22 Julio 2011, 14:24 pm
por KaL3o
Array asociativo y numérico a la vez
PHP
pisagatos 0 2,410 Último mensaje 7 Febrero 2012, 14:23 pm
por pisagatos
Rompecabezas numerico
Programación C/C++
erickgracia 3 3,297 Último mensaje 9 Agosto 2014, 23:44 pm
por ivancea96
Validar varios textbox con un grado de complejidad adicional
.NET (C#, VB.NET, ASP)
fr3n3tic 1 2,766 Último mensaje 15 Septiembre 2014, 08:39 am
por Eleкtro
Patron Bloqueo Numerico
Hacking Mobile
Mabus 5 3,844 Último mensaje 22 Junio 2024, 16:24 pm
por Mabus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines