Visual Basic - Formatear texto para mostrar numeros

Life is soft - evento anual de software empresarial
   
Vista:

Formatear texto para mostrar numeros

Publicado por jose luis (24 intervenciones) el 06/09/2010 22:15:15
hola, mi problema es el siguiente estoy haciendo un programa con visual 6 y en una mshflexgrid me va cargando los items de una factura, el hecho es que necesito que recuente el importe y lo muestre en un label, para eso uso este codigo pero siempre me muestra el entero

este es el código

Dim totalcalculado As Double
For i = 1 To grilla.Rows
totalcalculado = totalcalculado + Val(grilla.TextMatrix(i, 4))
Next

lbltotal.Caption = Format(totalcalculado, "##.###,##")

no recuerdo muy bien como se hacia el formato pero se que era algo parecido a esto. Alguien sabe como corregir ese error?. Saludos y desde ya gracias por su tiempo.
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:Formatear texto para mostrar numeros

Publicado por Zen Master (134 intervenciones) el 07/09/2010 00:09:13
Cambia la función Val y utiliza la función CDbl
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:Formatear texto para mostrar numeros

Publicado por jose luis (24 intervenciones) el 07/09/2010 00:19:42
hola, ante todo gracias por tomarte tu tiempo para responder, he probado lo que me dijiste y me sigue psando lo mismo, para hacerlo más simple lo que quiero hacer es que me sume toda una columna de un flexgrid y que me lo pase a un label, el codigo ke uso es el siguiente

Dim totalcalculado As Integer
For i = 1 To grilla.Rows - 1
If grilla.TextMatrix(i, 4) = Empty Then
On Error Resume Next
End If
totalcalculado = totalcalculado + grilla.TextMatrix(i, 4)
Next
grilla.Refresh
lbltotal.Caption = Str(Format(totalcalculado, "##,##0.00"))

siempre me muestra el valor entero, no redondea los numeros, solo muestra el entero y nada más. no se por que cuando va a sumar desde la grilla solo suma enteros alguna idea por que?. Saludos y gracias por tu tiempo
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:Formatear texto para mostrar numeros

Publicado por Zen Master (134 intervenciones) el 07/09/2010 00:46:26
En el primer post tienes totalcalculado como Double y ahora como Integer...

Si lo utilizas así totalcalculado siempre mostrará un valor entero, el tipo de datos debe ser Double y usa la función CDbl en lugar de Val.
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:Formatear texto para mostrar numeros

Publicado por Jose Luis (24 intervenciones) el 07/09/2010 00:59:15
hola, gracias nuevamente, probe con el double y no funca tampoco,

Dim sumatotal As Double
For I = 1 To grilla.Rows - 1
sumatotal = sumatotal + CDbl(grilla.TextMatrix(I, 4))
On Error Resume Next
Next I
MsgBox sumatotal

estoy probando asi y tambien da error.
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:Formatear texto para mostrar numeros

Publicado por Zen Master (134 intervenciones) el 07/09/2010 04:13:31
Pues está raro ese error que dices Jose Luis, tomé un MSHFlexGrid, lo llené con datos númericos en la columna número 4 hice un label para el total y un botón para ejecutar el último código que pusistes y todo salió a la perfección, el formato de números que utilizo es de esta manera 1000,00.

Revisa bien los número del rango que sumas, si es posible me los pones en una respuesta tal y como te los muestra el MSHFlexGrid y me dices que descripción de error te da ( ¿o el error es que te da el resultado entero? )
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:Formatear texto para mostrar numeros

Publicado por jose luis (24 intervenciones) el 07/09/2010 05:06:51
si, precisamente el error es que me da un resultado entero y necesito que sume los decimales tambien puesto que la grilla corresponde a una factura que se esta generando donde se van agregando los productos. Es muy raro para mi tambien lo analice de mil formas y le busque todas las vueltas pero no se por que me da ese error....
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:Formatear texto para mostrar numeros

Publicado por Jorge (55 intervenciones) el 07/09/2010 05:26:16
yo lo haria asi:

Dim totalcalculado As Double
totalcalculado=0
For i = 1 To grilla.Rows
totalcalculado = totalcalculado + CDbl(grilla.TextMatrix(i, 4))
Next

totalcalculado=Round(totalcalculado,2)
lbltotal.Caption = CStr(FormatNumber(totalcalculado, 2, vbTrue))

-------
donde el 2 de FormatNumber es el numero de decimales, vbTrue mostrara los decimales asi el numero sea un entero (ej. 10.00)

a ver haz la prueba con FormatNumber en lugar de solo Format

Salud!
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:Formatear texto para mostrar numeros

Publicado por jose luis (24 intervenciones) el 07/09/2010 17:07:34
hola, gracias por tu tiempo, lo he probado en otra pc y funciona, ya voy a probarlo en la misma en la que estaba ayer a ver que pasa porque de otras formas tambien me ha funcionado aqui, a pesar que la configuracion regional y el formato de los numeros es el mismo. Muchas gracias a ambos por sus respuestas, cualquier cosa aviso. 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:Formatear texto para mostrar numeros

Publicado por Zen Master (134 intervenciones) el 07/09/2010 20:24:32
¿Que base de datos utilizas?
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:Formatear texto para mostrar numeros

Publicado por jose luis (24 intervenciones) el 07/09/2010 22:49:05
access
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:Formatear texto para mostrar numeros

Publicado por Zen Master (134 intervenciones) el 07/09/2010 23:56:57
Mmmm más raro aún, esque conocía un caso similar pero en la configuración de una conexión ODBC a SQL Server, pues man tendrás que revisar bien la configuración de esa pc, algo debes estar omitiendo...
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