El concepto detrás de la manipulación de TextBox para sumar en Visual Basic
En el desarrollo con Visual Basic, es común que como desarrollador te encuentres con la necesidad de realizar operaciones aritméticas directamente en una caja de texto o TextBox. Sin embargo, hay que recordar que los valores de estas cajas son obtenidos como cadenas de texto, lo que significa que necesitamos parsear o convertir estos valores a un tipo numérico antes de realizar cualquier operación de suma.
Convertir los valores de TextBox a número
En la mayoría de los casos, cuando se trabaja con TextBox, debemos convertir el contenido textual en un valor numérico. Esto se debe a que todas las entradas proporcionadas en TextBox son capturadas como cadenas de texto. Para convertir estos valores de texto en número, podemos usar la función Val en Visual Basic. Esta función es muy útil ya que puede convertir cadenas de caracteres numéricos en otros datos de tipo numérico.
Private Sub BtnSum_Click(sender As Object, e As EventArgs) Handles BtnSum.Click Dim num1 As Double = Val(TextBox1.Text) Dim num2 As Double = Val(TextBox2.Text) Dim sum As Double = num1 + num2 TextBox3.Text = sum End Sub
Validar valores numéricos frente a no numéricos
El valor de validación puede ser de gran utilidad para nosotros cuando queremos asegurarnos de que el usuario ha introducido un valor numérico. Esta función devuelve cero si el texto no contiene ningún número. Por lo tanto, podemos usar esto para advertir al usuario de que deben introducir un número válido.
Podemos mejorarlo aún más añadiendo una alerta en forma de MessageBox que avise al usuario del error.
Private Sub BtnSum_Click(sender As Object, e As EventArgs) Handles BtnSum.Click Dim num1 As Double, num2 As Double If Double.TryParse(TextBox1.Text, num1) AndAlso Double.TryParse(TextBox2.Text, num2) Then TextBoxSum.Text = (num1 + num2).ToString Else MessageBox.Show("Por favor, introduzca números válidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If End Sub
Evitando excepciones de formato incorrecto
Un problema común que puedes encontrarte al realizar esta manipulación de TextBox es la posible excepción FormatException. Esta excepción ocurre cuando intentas convertir una cadena de texto que no puede ser convertida a número. Esto puede ser fácilmente solucionado con el método TryParse de Visual Basic.
Private Sub BtnSum_Click(sender As Object,e As EventArgs) Handles BtnSum.Click Dim num1, num2 As Double If Double.TryParse(TextBox1.Text, num1) AndAlso Double.TryParse(TextBox2.Text, num2) Then TextBox3.Text = (num1 + num2).ToString Else MessageBox.Show("Por favor, introduzca números válidos en las cajas de texto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub