Visual Basic - Formato numerico - textbox

Life is soft - evento anual de software empresarial
 
Vista:

Formato numerico - textbox

Publicado por ana (21 intervenciones) el 19/12/2005 21:17:51
Hola, tengo un textbox en el cual introduzco datos de tipo numerico. La configuracion regional de mi equipo tiene la coma para los decimales, y el punto como separador de miles. El problema es que al introducir en eltextbox por ejemplo, 12.34, utilizando el . del teclado numerico, me convierte el numero a 1.234,00, y no 12,34 como yo quiero. Donde esta el problema?

He probado dentro del codigo con format(mitextbox,"standard") pero no hace nada.Tambien con formatnumber(mitextbox,2,vbusedefault,vbusedefault,vbusedefault) para utilizar los parametros de la configuracion regional pero tampoco lo hace bien. Que esta fallando.

Agradeceria su ayuda

Saludos
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

RE:Formato numerico - textbox

Publicado por SetFocus (183 intervenciones) el 19/12/2005 22:00:15
Hola! Quizas no es la solucion mas elegante desde el punto de vista profesional, pero lo podrias solucionar agregando el siguiente codigo al evento Keypress de tu TextBox.

If KeyAscii = Asc(".") Then KeyAscii = Asc(",")

Lo que conseguis con esto es que cuando el usuario presiona el punto, tu programa lo convierte a una coma... en fin... no se si es lo mejor..pero... =)

Bueno, espero que te sirva.Saludos
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

RE:Formato numerico - textbox

Publicado por jlcastro (186 intervenciones) el 19/12/2005 23:40:10
PARA PODER INTRODUCIR EN UN TEXT EL PUNTO Y LA COMA
(CUALQUIERA DE LOS DOS)

En el formulario declara:

Dim DecimalPoint As Boolean

'Para cada Text box númerico:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

DecimalPoint = (KeyCode = vbKeyDecimal)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If DecimalPoint Then
KeyAscii = Asc(Mid(Format(0, "0.0"), 2))
End If

End Sub
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