none
Como somar valores de labels ? RRS feed

  • Pergunta

  • Olá pessoal, tudo bem?

    Eu estou tentando somar a média de 4 resultados, mas o resultado do meu código fica mais ou menos assim:

    1 + 3 + 9 + 4 = 1394, sendo que eu queria a soma, que deveria ser 17..

    O meu código é esse:

    If r1.Text = "Testando.." Then
                rr1.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#")
                r1.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#") & " KB/ps"
                Timer1.Start()
    
            ElseIf r2.Text = "Testando.." Then
                rr2.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#")
                r2.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#") & " KB/ps"
                Timer1.Start()
    
            ElseIf r3.Text = "Testando.." Then
                rr3.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#")
                r3.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#") & " KB/ps"
                Timer1.Start()
    
            ElseIf r4.Text = "Testando.." Then
                rr4.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#")
                r4.Text = (e.BytesReceived / (DirectCast(e.UserState, Stopwatch).ElapsedMilliseconds / 1000.0#)).ToString("#") & " KB/ps"
                Timer1.Start()
            Else
                Button1.Visible = True
            End If
    
            Dim valor1 As String
            Dim valor2 As String
            Dim valor3 As String
            Dim valor4 As String
            valor1 = Me.rr1.Text
            valor2 = Me.rr2.Text
            valor3 = Me.rr3.Text
            valor4 = Me.rr4.Text
    
            media.Text = (valor1 + valor2 + valor3 + valor4)

    será que alguém pode me ajudar ?

    sábado, 7 de junho de 2014 00:25

Respostas

  • Cara, acredito que o problema de estar concatenando em vez de somar, é porque as variáveis que você está utilizando são strings. Não é possível somar valores inteiros se eles tiverem como strings.

    Sugiro que você armazene os valores que você quer fazer a soma como inteiros, ou converta as strings mesmo para int com um "Convert.ToInt32(<variavel>)" e depois realize a operação.

    Espero ter ajudado,

    TP.

    • Marcado como Resposta Renato_EnderTec segunda-feira, 9 de junho de 2014 15:18
    domingo, 8 de junho de 2014 15:20
  • Descobri que o meu erro era mesmo tentar somar o conteúdo, mas não estava declarando-os como valores. o que eu precisei fazer foi declarar como eu queria somar os VALORES das labels. e ficou assim.

    Dim valor1 As String = rr1.Text Dim valor2 As String = rr2.Text Dim valor3 As String = rr3.Text Dim valor4 As String = rr4.Text media.Text = (Val(valor1)) + (Val(valor2)) + (Val(valor3)) + (Val(valor4))

    Agora funciona, obrigado por responder!! :)
    • Marcado como Resposta Renato_EnderTec segunda-feira, 9 de junho de 2014 15:38
    segunda-feira, 9 de junho de 2014 15:18

Todas as Respostas

  • Cara, acredito que o problema de estar concatenando em vez de somar, é porque as variáveis que você está utilizando são strings. Não é possível somar valores inteiros se eles tiverem como strings.

    Sugiro que você armazene os valores que você quer fazer a soma como inteiros, ou converta as strings mesmo para int com um "Convert.ToInt32(<variavel>)" e depois realize a operação.

    Espero ter ajudado,

    TP.

    • Marcado como Resposta Renato_EnderTec segunda-feira, 9 de junho de 2014 15:18
    domingo, 8 de junho de 2014 15:20
  • Algum progresso @Renato_EnderTec?

    Até mais,


    TP.

    segunda-feira, 9 de junho de 2014 13:12
  • Descobri que o meu erro era mesmo tentar somar o conteúdo, mas não estava declarando-os como valores. o que eu precisei fazer foi declarar como eu queria somar os VALORES das labels. e ficou assim.

    Dim valor1 As String = rr1.Text Dim valor2 As String = rr2.Text Dim valor3 As String = rr3.Text Dim valor4 As String = rr4.Text media.Text = (Val(valor1)) + (Val(valor2)) + (Val(valor3)) + (Val(valor4))

    Agora funciona, obrigado por responder!! :)
    • Marcado como Resposta Renato_EnderTec segunda-feira, 9 de junho de 2014 15:38
    segunda-feira, 9 de junho de 2014 15:18