none
Como puedo hacer una resta de 2 texbox RRS feed

  • Pregunta

  • y mostrarlos en un tercero en tiempo real llamandolo en en el textChange del texbox del primero!!! Por favor si me pueden ayudar es que me marca este error "La cadena de entrada no tiene el formato correcto" Como lo intento hacer es asi: public void Cargar(){int total, imp, apli; apli = Convert.ToInt32(txtAplicacion.Text);imp = Convert.ToInt32(txtImpoSuma.Text); total = imp - apli; txtDif.Text = total.ToString();}

    SG

    miércoles, 30 de octubre de 2019 20:05

Todas las respuestas

  • Casi seguro que el error de "La cadena de entrada no tiene el formato correcto" ocurre porque estás ejecutando ese código cuando uno de los dos textboxes está vacío. Asegúrate de que ninguno esté vacío, tienen que contener como mínimo un cero. El Convert.ToInt32 no convierte el vacío en cero, sino que da un error porque considera que una cadena vacía no es un número correcto.
    miércoles, 30 de octubre de 2019 22:37
    Moderador
  • Hola DianaSG

    Podes realizar la resta al darle Enter en cualquiera de los textbox, o pedirle alguna validación simple como

    textBox1.Text != ""

    antes de usar Convert, y asignarle 0 si es ""

    o realizar todo dentro de un " try - catch " que atrape FormatException

    Yo lo que haría es que si presiono enter ahí haga la resta, y también que esté en un try catch para que atrape la excepción si pongo un número como "abcdefghi"

    También podrías usar MaskedTextBox, para restringir la entrada sólo a números, pero aún te quedaría la posibilidad de que Text sea "" (cadena vacía)

    Saludos

    Pablo

    jueves, 31 de octubre de 2019 0:26
  • hola

    Podrias haber publicado el codigo con algo de formato, digo no cuesta tanto y ayuda a entenderlo

    ya que no tomamos en tiempo para ayudarte por lo menos tomate el tiempo para generar la pregunta con algo de mas calidad

    Si pones un vacio en el campo no podra convertirse a numerico, por eso usa

    public void Cargar()
    {
    	int imp, apli; 
    	
    	int.TryParse(txtAplicacion.Text, out apli);
    	int.TryParse(txtImpoSuma.Text, out imp);
     
    	int total = imp - apli; 
    	
    	txtDif.Text = total.ToString();
    } 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 31 de octubre de 2019 3:26
  • Gracias y me disculpo por la redacción!! 

    SG

    jueves, 31 de octubre de 2019 20:24