Tengo un programa donde el usuario debe ingresar diferentes campos numéricos en varias cajas de texto. A medida que el usuario va cargando los campos, realizo operaciones con los mismos.
El problema surge con los nº con decimales, ya que el símbolo para los decimales en la argentina es la coma "," . Debido a esto a la hora de hacer la operaciones los resultados son erroneos.
Para solucionarlo cambio el simbolo decimal "." por el "," mediante el siguiente código
Código:
If Not IsNumeric(txtCantidad.Text) Then
MsgBox "El campo 'Cantidad' debe ser numérico."
txtCantidad.SetFocus
Else
Largo = Len(txtCantidad.Text)
For Indice = 0 To Largo
txtCantidad.SelStart = Indice
txtCantidad.SelLength = 1
Cadena = txtCantidad.SelText
If Cadena = "." Then
txtCantidad.SelStart = 0
txtCantidad.SelLength = Indice
Entero = txtCantidad.SelText
txtCantidad.SelStart = Indice + 1
txtCantidad.SelLength = Largo
Decimales = txtCantidad.SelText
txtCantidad = Entero & "," & Decimales
End If
Next
End If Un nuevo problema surge al enviar estos datos por medio de sql a la base de datos, ya que interpreta un nº con coma como 2 datos diferentes siendo que en realidad son un solo dato para un solo campo.
La pregunta es ¿existe alguna forma más sencilla de solucionar este problema o debo aplicar el codigo anterior, solo que ahora a la inversa suplantanto la "," por el "." antes de guardar los datos en la DB?