Hola, estoy haciendo un programa, en el cual conecto un indicador de pesaje por el puerto serie, el indicador me transmite los dígitos del peso, pero también me envía otros caracteres, como letras y simbolos.
Quisiera que me mostrase en un textbox, únicamente los dígitos de peso, y me descartase los demás caracteres, actualmente tengo el siguiente código para leer del buffer de recepción:

---------------------------------------------------
Private Sub sppuerto_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles sppuerto.DataReceived
'Para ver peso en ventana principal Bruto
Dim buffer As String
buffer = sppuerto.ReadLine
PESO.Text = "" & buffer.Substring(2)

---------------------------------------------------

Luego, he agregado el código "PESO.Text = val(peso2.text)" , con esto, en "peso2,text, ya solo me muestra los números del peso, pero no me funciona bien ese valor, me explico,tengo dos textbox más: Bruto.text y Tara.text, con código, cuando el valor de tara es mayor que el valor de bruto, me sale un mensaje de error, hasta ahi todo bien, el problema es cuando el peso que yo pongo como bruto es de 5 digitos, por ejemplo 21980, y el de tara es de menos digitos, por ejemplo 1900, en este caso me sale el error de que 21980 es menor que 1900.
No entiendo lo que ocurre.
Cuando son el mismo número de digitos, funciona todo perfecto. por ejemplo bruto 21980 es mayor que tara 20200.