Jump to content
D3POD

[Resolvido] Erro ao converter valor de uma textbox em int

Recommended Posts

D3POD

Boas, estou a ter um erro um pouco estranho, pois já fiz isto várias vezes e nunca me tinha acontecido.

Tenho uma textbox que recebe um valor numerico, exemplo 1234 e que tenho que o passar para uma variavel do tipo Int.

A textbox nunca está vazia, porque no Load do form são carregados os dados.

public void total_wdesc()
        {
            int price_unit = Convert.ToInt32(txtPrice.Text);
            

            //Calcula o valor em função da quantidade

             if(txtSaleQty.Text != "")
            {
                 qtd = Convert.ToInt32(txtSaleQty.Text);
                 total_qtd = price_unit * qtd;
            }




            txtTotalAmount.Text = Convert.ToString(total_qtd);
        }

O erro é aqui:
            int price_unit = Convert.ToInt32(txtPrice.Text);

 

Mensagem de erro: Cadeia de caracteres de entrada com formato incorrecto.

 

Já experimentei Int.Parse mas o problema continua.

Agradeço toda a ajuda...

Cumprimentos

 

Share this post


Link to post
Share on other sites
apocsantos

Boa noite,

public void total_wdesc()
        {
          
            int precunit = Convert.ToInt32(txtPrice.Text);
            int price_unit;
			price_unit = (precunit > 0) ? precunit : 0;              

            //Calcula o valor em função da quantidade

             if(txtSaleQty.Text != "")
            {
                 qtd = Convert.ToInt32(txtSaleQty.Text);
                 total_qtd = price_unit * qtd;
            }




            txtTotalAmount.Text = Convert.ToString(total_qtd);
        }

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
D3POD

Boas, continuo a ter o mesmo erro, mas com o código a cima passei a ter na seguinte linha:

int precunit = Convert.ToInt32(txtPrice.Text);

Erro:

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Additional information: Cadeia de caracteres de entrada com formato incorrecto.

Share this post


Link to post
Share on other sites
apocsantos

Bom dia,

Repliquei o código numa form, apenas o coloquei num botão, fiz as caixas de texto e afins e não obtive nenhum erro.

 private void button1_Click(object sender, EventArgs e)
        {

            int qtd = 0;
            int total_qtd = 0;
           
            int precunit = Convert.ToInt32(txtPrice.Text);
            int price_unit;
            price_unit = (precunit > 0) ? precunit : 0;

            //Calcula o valor em função da quantidade

            if (txtSaleQty.Text != "")
            {
                qtd = Convert.ToInt32(txtSaleQty.Text);
                total_qtd = price_unit * qtd;
            }




            txtTotalAmount.Text = Convert.ToString(total_qtd);
        }

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
Gnrtuga

Boas, experimenta não carregar logo os dados para a textbox no evento load do form, para que sejas tu a introduzir manualmente, e experimenta a ver se ainda te dá erro.


Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Share this post


Link to post
Share on other sites
D3POD

Boas, já fiz isso, adicionar o valor manualmente e mesmo assim continua a dar o mesmo erro...

Já revi as propriedades da toolbox e está igual às outras...

 

 

Já resolvi o problema da seguinte forma:

 

ublic void total_wdesc()
        {
            int price_unit = 0;
            if (txtPrice.Text != "")
            {
            
            price_unit = Convert.ToInt32(txtPrice.Text);

            }

            //Calcula o valor em função da quantidade

            if (txtSaleQty.Text != "")
            {
                 qtd = Convert.ToInt32(txtSaleQty.Text);
                 total_qtd = price_unit * qtd;
            }




            txtTotalAmount.Text = Convert.ToString(total_qtd);
        }

Bastou criar a variável com valor zero e depois já ficou tudo a funcionar bem.

 

Obrigado por toda a ajuda ;)

 

Cumprimentos

Edited by D3POD

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.