1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Soma de valores entre duas TextBox em C#

Discussão em 'Programação' iniciada por Make.Love, 10 de Julho de 2007. (Respostas: 10; Visualizações: 10314)

  1. Make.Love

    Make.Love Banido

    Viva, pretendo somar dois valores de duas textbox's, a minha duvida é que nao tou a ver como fazer para efectuar mesmo a conta porque se colocar da seguinte forma fica por exemplo.... 100+21=10021


    ajuda precisa-se!

    Desde ja um grande obrigado :)

    Código:
            private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                
                this.textBox1.Text = "" + this.facturaActual.PrecoTotal;
                this.textBox3.Text = "" + this.facturaActual.PrecoTotal * 0.21; 
                this.textBox4.Text = "" + this.facturaActual.PrecoTotal + this.textBox3.Text;
    
            }
    vou dar um exemplo pratico:

    this.facturaActual.PrecoTotal ,entra com um valor de 100
    this.textBox3.Text = "" + this.facturaActual.PrecoTotal * 0.21; , calcula 21% de 100
    this.textBox4.Text = "" + this.facturaActual.PrecoTotal + this.textBox3.Text , aqui gostaria que ficasse a soma dos valores 100+21 ( 121)
     
    Última edição: 10 de Julho de 2007
  2. Evil_Tidus

    Evil_Tidus Power Member

    não terás que usar algumas variaveis? sei que no VB podia-se fazer isso sem variaveis usando o método do Val(textbox1)+ Val(textbox2), o C# não terá essa opção?

    é que o que tas a fazer é uma simples concatenação de strings, tas a juntar A + B e não a soma-los.
     
  3. Make.Love

    Make.Love Banido

    exacto. Epah isto tem que haver algo bem simples ^^ fogo!

    Sou tou a ver algo do género:

    Código:
     this.textBox4.Text = "" + ("{0}", this.textBox1.Text + this.textBox3.Text);
    PS: entretanto estou a pesquisar mais info! :s
     
    Última edição: 10 de Julho de 2007
  4. Evil_Tidus

    Evil_Tidus Power Member

    vou-te a dizer sinceramente , não conheço quase nada do C#, mas tenta fazer isto ( se possivel) crias duas variaveis, SOMA, X e Y (exemplo).

    depois mete algo como isto:

    X = textbox1.text;
    Y = textbox2.text;
    SOMA = X + Y;

    não sei se funciona assim mas ja deu para perceber a ideia.
     
  5. Make.Love

    Make.Love Banido

    ok, após uma pausa para meter as ideias arrumadinhas encontrei a solução:

    Código:
                this.textBox1.Text = "" + this.facturaActual.PrecoTotal;
                this.textBox3.Text = "" + this.facturaActual.PrecoTotal * 0.21;
                double tempVal = this.facturaActual.PrecoTotal + this.facturaActual.PrecoTotal * 0.21;
                this.textBox4.Text = ""+ tempVal;
     
  6. Bluestrattos

    Bluestrattos Power Member

    assim acho que também dá...

    double num1 = double.Parse(txt1.Text);
    double num2 = double.Parse(txt2.Text);

    double soma = num1+num2;

    MessageBox.Show("Soma: " + soma.ToString());
     
  7. b1t dA3m0n

    b1t dA3m0n Power Member

    Os valores que tu extrais das textbox sao strings, para calcular precisas de numeros, neste caso nao há uma conversao implicita deste tipos de valores (procura descobrir um pouco mais sobre "casts" - por exemplo aqui.

    Para já experimenta algo como isto:

    Código:
                double tbv1;
                double tbv3;
    
                tbv1 = Convert.ToDouble(textBox1.Text);
                tbv3 = (Convert.ToDouble(textBox3.Text) * 0.21);
    
                textBox4.Text = Convert.ToString(tbv1 + tbv3);
    
     
  8. SoundSurfer

    SoundSurfer Power Member

    Exacto.. no caso do código do tópico:

    Código:
     
           private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                
                this.textBox1.Text = this.facturaActual.PrecoTotal.ToString(); //Assim é mais "limpo"
                this.textBox3.Text = (this.facturaActual.PrecoTotal * 0.21).ToString(); 
                this.textBox4.Text =  (this.facturaActual.PrecoTotal * 1.21).ToString(); //Mais legível
    //            this.textBox4.Text =  (this.facturaActual.PrecoTotal + Convert.ToDouble(this.textBox3.Text)).ToString();
    
            }
     
  9. Evil_Tidus

    Evil_Tidus Power Member

    ja agora aproveito para perguntar, no VB tinhamos o metodo do Val(textbox) que automáticamente interpretava o valor das textbox para numeros no C# ou no visual C++ (2005) tambem tem alguma opção semelhante?
     
  10. SoundSurfer

    SoundSurfer Power Member

    Convert.ToDouble, Convert.ToInt, Double.Parse, Int.Parse, etc...
    Depende da precisão que queiras.
     
  11. Make.Love

    Make.Love Banido

    mais uma vez obrigado :)
     

Partilhar esta Página