Logo
You
Code

Punto decimal en numeros y textboxes

Autor YouCode - http://www.youcode.com.ar/visual-basic-net/punto-decimal-en-numeros-y-textboxes-381

Muchos hemos sufrido manejar números en textbox, el usuario pone coma o punto decimal para ingresar un tipo de valor DOUBLE , bueno , veremos una solución.

Quiza no sea la adecuada, pero a mi me funciono.
Lo que debemos hacer es decirle a nuestra aplicacion que use su propia configuracion regional, esto lo hacemos en nuestro formulario o en nuestra class de inicio.

entonces, importamos el spacename correspondiente
Imports System.Globalization
luego en el load del form o en la class de inicio (recuerdan que pueden iniciar una aplicacion desde app main ?) ponemos:
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("es-AR")
System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator = "."
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyGroupSeparator = "."
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSeparator = "."
si se dan cuenta, en mi caso! y........reitero, a mi me funciono asi , ajusto a es-AR y luego todos los formatos de numeros los dejo como separador de listas y separador decimal con el "."

De esta manera si hacemos, por ej:
Dim Valor As Double = 0
Try
   Valor = Convert.ToDouble(Me.Tx_Valor.Text)               
Catch ex As Exception
  MessageBox.Show("El formato del campo Valor no es correcto", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
dara error si el usuario utilizo como separador decimal a la "," coma!

Espero les sea util.
http://www.youcode.com.ar/visual-basic-net/punto-decimal-en-numeros-y-textboxes-381