Visual Basic.NET - Convertir en decimal una entrada de un textbox en VB .NET

 
Vista:

Convertir en decimal una entrada de un textbox en VB .NET

Publicado por Bety (7 intervenciones) el 13/04/2011 16:04:46
Hola a todos:
Estoy realizando un formulario de carga de datos en VB . NET. con OleDBdataAdapter, ya conecté todos los campos con los textbox, que son de tipo decimal. Pero al cargar los datos no aparecen puntos ni comas. Quiero darle formato decimal a los datos de entrada.
Me dijeron que se puede crear una función y llamarla desde las propiedades del comando, pero no se como hacerlo.

A lo mejor alguien ya lo hizo.

Desde ya muchas gracias.
Bety
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Convertir en decimal una entrada de un textbox en VB .NET

Publicado por Jaime Bustamante Alvarado (2 intervenciones) el 13/04/2011 22:33:33
hola!
priemro creas las funciones, aqui te mando el codigo.

'FUNCIONES
'funcion checa el punto decimal
Function checa_punto(ByRef valor As String) As Boolean
Dim x, contador As Short
checa_punto = False
contador = 0
For x = 1 To Len(valor)
If Mid(valor, x, 1) = "." Then contador = contador + 1
Next x
If contador > 1 Then checa_punto = True
End Function
'FUncion Decimales
Function decimales(ByRef valor As String) As Boolean
Dim z, x, contador, oripun As Short
decimales = False
contador = 0
For x = 1 To Len(valor)
If Mid(valor, x, 1) = "." Then
oripun = x
For z = x + 1 To Len(valor)
contador = contador + 1
Next z
End If
Next x
If contador > 2 Then decimales = True

End Function





y Despues las mandas llamar con este otro codigo.


'codigo que manda llamar las funciones de redondeo y la de punto decimal
Private Sub TotalTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TotalTextBox.TextChanged
Dim punto, redondeo As Boolean
punto = checa_punto((TotalTextBox.Text))
If punto = True Then
TotalTextBox.Text = Mid(TotalTextBox.Text, 1, Len(TotalTextBox.Text) - 1)
TotalTextBox.SelectionStart = Len(TotalTextBox.Text)
Exit Sub
End If


If TotalTextBox.Text = "" Then
TotalTextBox.Text = "0.00"
TotalTextBox.SelectionStart = 0
TotalTextBox.SelectionLength = Len(TotalTextBox.Text)
End If

redondeo = decimales((TotalTextBox.Text))
If redondeo = True Then
TotalTextBox.Text = CStr(System.Math.Round(Val(TotalTextBox.Text), 2))
TotalTextBox.SelectionStart = Len(TotalTextBox.Text)
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar