Usuario
Como puedo hacer una resta de 2 texbox

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
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.
- Propuesto como respuesta Pablo RubioModerator miércoles, 30 de octubre de 2019 23:32
-
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
- Propuesto como respuesta Pablo RubioModerator jueves, 31 de octubre de 2019 22:10
-
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- Propuesto como respuesta Pablo RubioModerator jueves, 31 de octubre de 2019 22:11
-