none
suma de valores en un listbox

    Pregunta

  • perdon en el mensage anterio es en un listbox

    hola soy jose esque hace poco me mandaron una tarea y quiero hacerla lo mejor posible lo que pasa es que en un listbox tengo que add varios numeros en  varias lineas pero tengo que mostrarun resultado de todos los numeros ingresado y no se como sumarlos

    ejemplo

    ingreso en la prime linea un 5

    ingreso en la segunda inea un 3

    y en um botton un resultado que se sume los dos

    si

    me pudieran

    ayudar

    gracias¿

     

    miércoles, 12 de noviembre de 2008 21:30

Respuestas

  • Puedes probar esto? Ojo! No controla si los elementos en la lista son numericos tenlo en cuenta.

     

    Private Sub btn_sumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_sumar.Click

    Dim suma As Integer

    For Each elemento In ListBox1.Items

    suma += elemento.ToString

    Next

    MessageBox.Show(suma)

    End Sub

     

    Si la respuesta te sirvió de ayuda recuerda marcarla como correcta.

     

    Salu2

    jueves, 13 de noviembre de 2008 6:13

Todas las respuestas

  • Puedes probar esto? Ojo! No controla si los elementos en la lista son numericos tenlo en cuenta.

     

    Private Sub btn_sumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_sumar.Click

    Dim suma As Integer

    For Each elemento In ListBox1.Items

    suma += elemento.ToString

    Next

    MessageBox.Show(suma)

    End Sub

     

    Si la respuesta te sirvió de ayuda recuerda marcarla como correcta.

     

    Salu2

    jueves, 13 de noviembre de 2008 6:13
  • Grasias me tarde 5 horas tratandolo de hacer yo mismo, lo sierto es ke ay muy poca informacion de este tipo de ejemplos para visual 2005, gracias viejo.
    martes, 01 de junio de 2010 3:31
  • Buenas barbaroja,

    Tengo una duda sobre el fragmento de codigo que esta mas arriba¿?

    Lo he probado y funciona, pero no se el como ya que hay una varible que no esta declarada pero funciona, como es esto¿? donde se declara la variable "elemento"

    Jejeje estoy O_O

    Saludos

    lunes, 20 de septiembre de 2010 14:17
  • Perdón por la intromisión,

    Lendarez, la variable elemento se define implicitamente con el bucle for each,

    sería algo asi como:

     

    For Each elemento as Object In ListBox1.Items

    suma += elemento.ToString

    Next


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    lunes, 20 de septiembre de 2010 14:19
    Moderador
  • Buenas de nuevo,

    Aprovechando el hilo, cuando yo uso este fragmento de codigo el mismo se ejecuta bien, pero cuando en la lista existen numeros decimales el resultado final siempre es un numero entero, por que¿?

    Saludos

    lunes, 20 de septiembre de 2010 14:52
  • Porque la variable suma está definida como integer, en lugar de como double, prueba esta:

     

     

    Dim suma As double = 0

    For Each elemento In ListBox1.Items

    suma += Convert.ToDouble(elemento.ToString())

    Next

     


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    lunes, 20 de septiembre de 2010 14:54
    Moderador
  • Buenas,

    El resultado es el mismo, me da que es por el formato de presentacion...

    No¿?

    Saludos

    lunes, 20 de septiembre de 2010 15:10
  • El resultado el mismo?

    si tu valor suma es: 125,63 que valor te saca por pantalla?


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    lunes, 20 de septiembre de 2010 15:12
    Moderador
  • Buenas,

    Si yo intento sumar 1.2 + 2.1 en el visor me sale 33. o si por ejemplo sumas 5.1 + 1.1 me sale 62.

    todo esto estaria bien si entre medio de los dijitos saliera la coma.

    Saludos

    lunes, 20 de septiembre de 2010 15:29
  • hola

    ese problema es de configuracion de la cultura de la aplicacion, no uses 1.2, usa 1,2

    o sea con la coma

    sino la otra es cambiar la cultura, pero intenta a ver si es este el problema en el calculo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Propuesto como respuesta Lendarez martes, 21 de septiembre de 2010 13:27
    lunes, 20 de septiembre de 2010 15:36
  • Buenas,

     

    Nada, eso lo probe yo antes, ademas si ponemso , en lugar de . no calcula lo que viene depues del mismo...

    Por que sera¿?

    Saludos

    lunes, 20 de septiembre de 2010 15:53
  • Has hecho la conversión de los valores. Tal como te dice Leandro depende la cultura, en cada pais el signo decimal es distinto.

     

    En la cultura Es el "." es separador de miles por lo que si pones 1.2 no lo va a considerar, sin embargo, si pones "1,2" si que tiene que interpretar la coma...


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    martes, 21 de septiembre de 2010 6:53
    Moderador
  • Buenas,

    Entonces como hago para darle solucion¿?

     

    Saludos y mil gracias por la colaboracion.

     

    martes, 21 de septiembre de 2010 7:45
  • Mira este ejemplo

     

    Y me cuentas si no te funciona.


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    • Propuesto como respuesta Lendarez martes, 21 de septiembre de 2010 13:27
    martes, 21 de septiembre de 2010 7:51
    Moderador
  • Basado en el mismo ejemplo, he hecho una modificación, para cambiar la cultura a "en-US":

        My.Application.ChangeCulture("en-US")'Aqui cambio la cultura
        Dim valor As Double
        For Each elemento In ListBox1.Items
          valor += Convert.ToDouble(elemento.ToString().Replace(",", "."))
        Next
        MsgBox(valor)
    

    Y si te das cuenta en el ejemplo que meto los valores con "," como separador de decimales. en el bucle lo que hago es cambiar la "," por el "." para que lo interprete como separador de decimales.

     

    Si miras este enlace de mi Blog, hablo de como usar el caracter separador de decimales y miles con la cultura establecida en la aplicación.

    Espero que te sirva.


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    martes, 21 de septiembre de 2010 8:04
    Moderador
  • Buenas,

    Y ante todo gracias a todos ^_^

    Ya tengo la solucion, no era mas que un follo en la variable que estaba usando ya que la misma era Integer y no Double como vi en el ejemplo de jtorcilla, bueno eso y como mencionaron antes el "." tambien tenia algo que ver ya que aun que mi variable fuera Double no dio resultado hasta que sustitui el "." por la ","

    Oye, muchas gracias a todos por la atencion.

    martes, 21 de septiembre de 2010 13:26
  • Buenas, yo tengo una duda... ami me funciona la programacion pero ahora si tengo texto + numero en un listbox habra alguna forma de que solo sume lo numerico....??? 

    la programacion de arriba solo me funciono si el listbox es totalmente numerico

    gracias espero su pronta respuesta

    martes, 19 de octubre de 2010 23:06
  • guild, para ello tendrías que hacer una comprobación si el item del listbox es numerico,

     

    dim valor as double

    for each item as Object in tuListBox.items

       if double.TryParse(item,valor) then

         'En este caso sumamos

       end if

    next


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    miércoles, 20 de octubre de 2010 5:55
    Moderador
  • guild, para ello tendrías que hacer una comprobación si el item del listbox es numerico,

     

    dim valor as double

    for each item as Object in tuListBox.items

       if double.TryParse(item,valor) then

         'En este caso sumamos

       end if

    next


    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    Hola gracias x tu respuesta ahora tengo otra duda como programo para q la suma de los items se muestre en un msgbox? 
    jueves, 21 de octubre de 2010 2:17
  • Holaa muxisimas gracias x su ayudaaa!!! ya pude resolver el problema :P les agradesco denuevo x tomarse el tiempo en responderme 

    saludos

    jueves, 21 de octubre de 2010 3:13
  • Hola que tal! 

    por favor me podrian ayudar quisiera sumar los items de un listbox

    es en c# web

    x fas como podria hacerlo

    viernes, 24 de agosto de 2012 23:55