Visual Basic - una de Format

Life is soft - evento anual de software empresarial
 
Vista:

una de Format

Publicado por Buka (94 intervenciones) el 01/12/2003 15:56:07
Hola programadores,

tengo un pequeño detalle que me gustarian que me ayudaran, en un textbox ingreso un valor, ejemplo: 16.968,57
bien, tengo un pequeño codigo en el evento Chage del textbox que me cambia el formato a medida que se ingresa, funciona muy bien cuando se trata de separar miles, ejemplo el usuario solo ingresa 16968 y el codigo lo va dejando asi 16.968
pero no me adimte uso de decimal, la idea es ver que se puede modificar en este codigo si quiero utilizar los dos ultimos digitos como decimal, tomando en cuenta que la parte entera solo ocupara los primeros 5 digitos, aqui va el codigo:

Dim posSel As Long
posSel = txufa.SelStart
txufa.Text = Format(txufa.Text, "###,###,###")
txufa.SelStart = posSel + 1

para alcarar, el usuario solo debe digitar 1696857 y el codigo lo deja 16.968,57

estoy claro que en la tercera linea del codigo esta la clave, pero lo he intentado y no me sale, por favor alguien que me ayude.

Gracias de antemano
Buka
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:una de Format

Publicado por Pedro Luis (878 intervenciones) el 01/12/2003 19:11:54
Creo que el formato correcto sería
"#,##0.00" para que si no digita nada se vea al menos 0,00
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:una de Format

Publicado por Buka (94 intervenciones) el 01/12/2003 22:06:56
Hola,
gracias pero no funciona bien donde yo lo necesito, en el evento change del textbox, al colocar el formato, a priori me dejama usar una parte entera y los restantes en dos decimales, ej: 1,34
alguna idea de como arreglarlo?
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:una de Format

Publicado por ALH76 (278 intervenciones) el 02/12/2003 16:05:49
Q tal!!!

No es el formato, pero si unas lineas de codigo q te pudieran ayudar en lo que deseas. Logicamente tienes que modificarle algo si deseas mayor confiabilidad. Este codigo pone el punto decimal apartir de 6 caracteres (incluyendo la coma), asi q tendrias q meter una o varias lineas de codigo para poner .00 en dado caso que el usuario no teclee esos famosos decimales, lo cual no considero que sea muy laborioso.

Espero q te sirva de algo o lo tomes como referencia para resolver tu problema...

Saludos!!!

Codigo:
Private Sub Text1_Change()
Dim A As Integer
Text1.MaxLength = 9
A = Len(Text1.Text)
If A = 3 Then
Text1.SelStart = A + 1
Text1.Text = Text1.Text & ","
A = Len(Text1.Text)
Text1.SelStart = A + 1
ElseIf A = 6 Then
Text1.SelStart = A + 1
Text1.Text = Text1.Text & "."
A = Len(Text1.Text)
Text1.SelStart = A + 1
Else
Exit Sub
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