Saltar al contenido

Sumar valores decimales de un listbox


vmjmb

Recommended Posts

publicado

Buenas tardes,

Tengo un problema estoy tratando de sumar los valores decimales de un listbox pero solo considera los enteros por ejemplo si en el listbox tengo 25.48, 20.36, 30.58 al momento de sumar y enviarme el resultado a aun textbox me devuelve 75 osea la suma de 25,20,30 no toma en cuenta los decimales les dejo el codigo a ver si pueden ayudarme gracias.

Dim i As IntegerDim total As Long
total = 0
For i = 0 To lstimporte.ListCount - 1
total = total + Val(lstimporte.List(i))
Next i
TextBox4.Text = total
TextBox5.Text = Val(TextBox4) * 18 / 100
TextBox6.Text = Val(TextBox4) + Val(TextBox5)[/CODE]

en el textbox4 es donde recibo la suma de los valores.

ademas quisiera saber como hacer para no tener necesidad de usar un boton para hacer el calculo sino que al ir agregando valores al listbox solo se vaya sumando y lo ingrese en el textbox4.

publicado

total = total + CDbl(lstimporte.List(i)) - Int(lstimporte.List(i))

Quizas cambiando a esa linea se solucione tu problema, hubiese sido mas facil si hubieses subido el archivo...

Debe haber un evento para el listbox, me parece que es change o update y ahi hacer el calculo e impresion.

Suerte!

publicado

Hola Digitalboy

Gracias por tu respuesta, cambie el codigo y no cambio nada pero le he agregado este codigo

lstimporte.List(i) = Replace(lstimporte.List(i), ",", ".")[/CODE]

y ahora lo que hace es redondearlo osea ahora ya no solo suma los enteros sino suma todo pero lo redondea si sale 12.47 me devuelve 12 y si sale 12.53 me manda 13 hay forma de que no lo redondee.

Gracias

disculpa por no adjuntarte el archivo pero se pasa de pesado 190kb solo se acepta 170

[color=blue]- - - - - Mensaje combinado - - - - -[/color]

Hola Digitalboy

Gracias por tu respuesta, cambie el codigo y no cambio nada pero le he agregado este codigo

[CODE]lstimporte.List(i) = Replace(lstimporte.List(i), ",", ".")[/CODE]

y ahora lo que hace es redondearlo osea ahora ya no solo suma los enteros sino suma todo pero lo redondea si sale 12.47 me devuelve 12 y si sale 12.53 me manda 13 hay forma de que no lo redondee.

Gracias

disculpa por no adjuntarte el archivo pero se pasa de pesado 190kb solo se acepta 170

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.