none
Como fazer calculo de porcentagem RRS feed

  • Pergunta

  • Boa Noite Pessoal!!!

    Preciso de ajuda para resolver uma rotina.

    Tenho 3 textbox, 1 preço venda, 2 preço custo, 3 resultado, preciso saber o seguinte a porcentagem entre a diferença de preço de venda para preço de custo, vamos lá.

    na calculadora

    23,50 / 13,64 = 1,72287 , ai tira o 1, e fica 72287, coloca a virgula 72,29 * 13,64 = 9,860 + 13,64 = 23,50 perfeito.

    mas em vb.net como fazer essa conta dar o resultado correto tipo textbox1 23,50 / textbox2 13,64 = textbox3 72,29.

    Estou fazendo assim mas não esta dando certo porque quando da abaixo de 100 por cento blz mas quando passa por exmplo 23,50 / 2,50 = 9,40 ai você pega 9 - 40 = 8,60 * 1000 = 860% ai 2,50 * 860% = 21,50 + 2,50 = 23,50

    Estou fazendo assim em vb.net segue abaixo

     
     Me.txtlucro.Text = PV / PC
                Me.txtlucro.Text = (Me.txtlucro.Text.Replace(",", ""))
    
                Dim tirar As String
                tirar = Me.txtlucro.Text
                tirar = tirar.Remove(1, 1)
                Me.txtlucro.Text = tirar
    
                ' codigo colocar barra na string
                Dim strTexto As String
                strTexto = Me.txtlucro.Text
                strTexto = strTexto.Insert(2, ",")
    
                Me.txtlucro.Text = strTexto
    
                Me.txtlucro.Text = Convert.ToDecimal(Me.txtlucro.Text).ToString("F4")

    Aguem tem um jeito que isso funcione, gostaria de saber o resultado em porcentagem entre dois numeros por exemplo 23,50 / 13,64 = 72,29%, alguem sabe como fazer isso.

    Desde já agradeço atenção.

    Pablo Sousa.

     


    PabloSousa

    terça-feira, 21 de novembro de 2017 21:51

Respostas

  • Boa noite Pablo.

    Conceito matemático:

    Tomando que Preço de custo seja 100 e Preço de Vendas vc não sabe o percentual, primeiro tem que calcular o percentual de diferença entre PC e PV e só subtrair de 100 que é o valor cheio (Preço de custo)

    x = (PV * 100) / PC - 100 => (23,50*100)/13,64 - 100 => 2350/13,64 - 100 => 172,28 -100 => 72,28

    Passando pra programação:

    Criei um programa simples com duas textbox (tbx_precoCusto e tbx_precoVenda) e uma label para o resultado (lbl_diferença).

    Os valores serão armazenados em 3 variáveis que são do tipo Decimal (precoCusto, precoVenda e diferenca).


                Decimal precoCusto = 0;
                Decimal precoVenda = 0;
                Decimal diferenca = 0;
                precoCusto = Convert.ToDecimal(tbx_precoCusto.Text);
                precoVenda = Convert.ToDecimal(tbx_precoVenda.Text);
                diferenca = (precoVenda * 100) / precoCusto - 100;
                lbl_diferenca.Text = diferenca.ToString();

    Deve ser isso que você precisa. 

    Basta converter o código pra VB e correr pro abraço.

    • Marcado como Resposta Pablo_1977 quarta-feira, 22 de novembro de 2017 00:28
    terça-feira, 21 de novembro de 2017 22:48
  • Boa noite

    Considerando que o preço de custo não pode ser zero, tente assim:


     Private Sub calcular_Click(sender As System.Object, e As System.EventArgs) Handles calcular.Click
            txtpreço_venda.Text = txtpreço_venda.Text.Trim
            txtpreço_custo.Text = txtpreço_custo.Text.Trim

            If txtpreço_venda.Text = "" Then txtpreço_venda.Text = "0.00"
            If txtpreço_custo.Text = "" Then txtpreço_custo.Text = "0.00"

            txtpreço_venda.Text = CDec(txtpreço_venda.Text).ToString("C")
            txtpreço_custo.Text = CDec(txtpreço_custo.Text).ToString("C")

            If CDec(txtpreço_custo.Text) = 0 Then
                MessageBox.Show("Custo não pode ser zero.")
            Else
                Dim Dec_Lucro As Decimal
                Dec_Lucro = CDec(txtpreço_venda.Text) / CDec(txtpreço_custo.Text)
                txtlucro.Text = ((Dec_Lucro - 1) * 100).ToString("N2") & "%"
            End If

        End Sub


    MARIANO1776

    • Marcado como Resposta Pablo_1977 quarta-feira, 22 de novembro de 2017 12:33
    quarta-feira, 22 de novembro de 2017 00:41

Todas as Respostas

  • Boa noite Pablo.

    Conceito matemático:

    Tomando que Preço de custo seja 100 e Preço de Vendas vc não sabe o percentual, primeiro tem que calcular o percentual de diferença entre PC e PV e só subtrair de 100 que é o valor cheio (Preço de custo)

    x = (PV * 100) / PC - 100 => (23,50*100)/13,64 - 100 => 2350/13,64 - 100 => 172,28 -100 => 72,28

    Passando pra programação:

    Criei um programa simples com duas textbox (tbx_precoCusto e tbx_precoVenda) e uma label para o resultado (lbl_diferença).

    Os valores serão armazenados em 3 variáveis que são do tipo Decimal (precoCusto, precoVenda e diferenca).


                Decimal precoCusto = 0;
                Decimal precoVenda = 0;
                Decimal diferenca = 0;
                precoCusto = Convert.ToDecimal(tbx_precoCusto.Text);
                precoVenda = Convert.ToDecimal(tbx_precoVenda.Text);
                diferenca = (precoVenda * 100) / precoCusto - 100;
                lbl_diferenca.Text = diferenca.ToString();

    Deve ser isso que você precisa. 

    Basta converter o código pra VB e correr pro abraço.

    • Marcado como Resposta Pablo_1977 quarta-feira, 22 de novembro de 2017 00:28
    terça-feira, 21 de novembro de 2017 22:48
  • Boa Noite Fernando!!!

    Testei o codigo deu certinho, valeu muito obrigado era isso mesmo que precisava.

    Abraço!

    Pablo Sousa.


    PabloSousa

    • Sugerido como Resposta Fernando.Jarcen quarta-feira, 22 de novembro de 2017 11:29
    • Não Sugerido como Resposta Fernando.Jarcen quarta-feira, 22 de novembro de 2017 11:29
    quarta-feira, 22 de novembro de 2017 00:28
  • Boa noite

    Considerando que o preço de custo não pode ser zero, tente assim:


     Private Sub calcular_Click(sender As System.Object, e As System.EventArgs) Handles calcular.Click
            txtpreço_venda.Text = txtpreço_venda.Text.Trim
            txtpreço_custo.Text = txtpreço_custo.Text.Trim

            If txtpreço_venda.Text = "" Then txtpreço_venda.Text = "0.00"
            If txtpreço_custo.Text = "" Then txtpreço_custo.Text = "0.00"

            txtpreço_venda.Text = CDec(txtpreço_venda.Text).ToString("C")
            txtpreço_custo.Text = CDec(txtpreço_custo.Text).ToString("C")

            If CDec(txtpreço_custo.Text) = 0 Then
                MessageBox.Show("Custo não pode ser zero.")
            Else
                Dim Dec_Lucro As Decimal
                Dec_Lucro = CDec(txtpreço_venda.Text) / CDec(txtpreço_custo.Text)
                txtlucro.Text = ((Dec_Lucro - 1) * 100).ToString("N2") & "%"
            End If

        End Sub


    MARIANO1776

    • Marcado como Resposta Pablo_1977 quarta-feira, 22 de novembro de 2017 12:33
    quarta-feira, 22 de novembro de 2017 00:41
  • Bom Dia Mariano!!!

    Obrigado pela dica vai servir tambem, exemplos nunca e demais.

    Muito Obrigado.

    Pablo Sousa.


    PabloSousa

    quarta-feira, 22 de novembro de 2017 12:33