PORCENTAGEM

 Tópico anterior Próximo tópico Novo tópico

PORCENTAGEM

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#492891 - 05/03/2020 14:54:37

AMORIM
PALMAS/TOCANTINS
Cadast. em:Agosto/2015


Última edição em 05/03/2020 14:55:03 por AMORIM

Ja tentei de varias maneira mais não funciona no DataGridViewRow, não sei como fazer mais




#492892 - 05/03/2020 15:01:45

JABA
CABO FRIO
Cadast. em:Agosto/2005


Citação:
:
Ja tentei de varias maneira mais não funciona no DataGridViewRow, não sei como fazer mais


Posta aí como ficou o seu último teste.

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizar quando o corpo está em movimento?



#492894 - 05/03/2020 15:17:12

AMORIM
PALMAS/TOCANTINS
Cadast. em:Agosto/2015


Última edição em 05/03/2020 15:20:29 por AMORIM

                For Each i As DataGridViewRow In dgvVendas.Rows
                    Dim Valor As Decimal = Math.Round(Convert.ToDecimal(i.Cells(2).Value), 2) 'formato que esta passando: 2205,48
                    Dim total As Decimal = Math.Round(Convert.ToDecimal(TotalVendas), 2) 'formato que esta passando: 3772,04
                    i.Cells(3).Value = Math.Round(Convert.ToDecimal(i.Cells(2).Value / Convert.ToDecimal(TotalVendas) * 100), 2)
                    'MsgBox(Math.Round(Convert.ToDecimal(i.Cells(2).Value / Convert.ToDecimal(TotalVendas) * 100), 2)) 'vc chamar MsgBox esta funcionado beleza = 58,47
                Next




#492896 - 05/03/2020 15:33:14

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 05/03/2020 15:40:12 por JABA

Citação:
:
                For Each i As DataGridViewRow In dgvVendas.Rows
                    Dim Valor As Decimal = Math.Round(Convert.ToDecimal(i.Cells(2).Value), 2) 'formato que esta passando: 2205,48
                    Dim total As Decimal = Math.Round(Convert.ToDecimal(TotalVendas), 2) 'formato que esta passando: 3772,04
                    i.Cells(3).Value = Math.Round(Convert.ToDecimal(i.Cells(2).Value / Convert.ToDecimal(TotalVendas) * 100), 2)
                    'MsgBox(Math.Round(Convert.ToDecimal(i.Cells(2).Value / Convert.ToDecimal(TotalVendas) * 100), 2)) 'vc chamar MsgBox esta funcionado beleza = 58,47
                Next


Novamente cometendo o mesmo erro de sempre.  Você tá fazendo uma divisão em cima do valor da célula quando vai converter no Round. Primeiro você tem que converter o valor contido na célula para decimal para depois fazer  os cálculos. Faça assim:

For Each i As DataGridViewRow In dgvVendas.Rows
                    Dim Valor As Decimal = Math.Round(Convert.ToDecimal(i.Cells(2).Value), 2) 'formato que esta passando: 2205,48
                    Dim total As Decimal = Math.Round(Convert.ToDecimal(TotalVendas), 2) 'formato que esta passando: 3772,04
                    i.Cells(3).Value = Convert.ToDecimal(Valor / total * 100)
Next



_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizar quando o corpo está em movimento?



#492897 - 05/03/2020 15:37:09

AMORIM
PALMAS/TOCANTINS
Cadast. em:Agosto/2015


Última edição em 05/03/2020 15:44:52 por AMORIM

Amigo eu já tentei assim também só que na tabela do DataGridViewRow não funciona, se for para exibir no textbox ou MsgBox funciona perfeitamente.

                For Each i As DataGridViewRow In dgvVendas.Rows
                    Dim Valor As Decimal = Math.Round(Convert.ToDecimal(i.Cells(2).Value), 2) 'formato que esta passando: 2205,48
                    Dim total As Decimal = Math.Round(Convert.ToDecimal(TotalVendas), 2) 'formato que esta passando: 3772,04
                    i.Cells(3).Value = Valor / total * 100
                Next
E assim que estou usando só que eu não quero que arredonda o valor.




#492898 - 05/03/2020 15:41:37

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 05/03/2020 15:45:38 por JABA

Eu acabei editando aqui a minha última postagem. Força uma conversão no final para ver se vai ou então joga o resultado final numa variável decimal:

i.Cells(3).Value = Convert.ToDecimal(Valor / total * 100)


ou

dim resultado as decimal = Convert.ToDecimal(Valor / total * 100)
Cells(3).Value = resultado


_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizar quando o corpo está em movimento?



#492899 - 05/03/2020 15:49:00

AMORIM
PALMAS/TOCANTINS
Cadast. em:Agosto/2015


Já tentei também e continuar arredondado o valor

esses valores vem do banco de dados e do proprio DataGridView
                    Dim Valor As Decimal = Math.Round(Convert.ToDecimal(i.Cells(2).Value), 2) 'formato que esta passando: 2205,48
                    Dim total As Decimal = Math.Round(Convert.ToDecimal(TotalVendas), 2) 'formato que esta passando: 3772,04



#492900 - 05/03/2020 15:52:09

AMORIM
PALMAS/TOCANTINS
Cadast. em:Agosto/2015


Assim também já fiz e por isso que eu falei que não sei mais o que fazer
dim resultado as decimal = Convert.ToDecimal(Valor / total * 100)
i.Cells(3).Value = resultado



#492901 - 05/03/2020 15:53:59

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 05/03/2020 16:04:02 por JABA

Cara, será que não há uma conversão ai na formatação da céula? Veja como essa célula está formatada. Coloque-a para valor moeda em suas propriedades.

SeuDgv.Columns("valor_total").DefaultCellStyle.Format = "C2"



docs.microsoft.com/pt-br/dotnet/framework/winforms/controls/how-to-format-data-in-the-windows-forms-datagridview-control


_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizar quando o corpo está em movimento?



#492903 - 05/03/2020 16:10:06

AMORIM
PALMAS/TOCANTINS
Cadast. em:Agosto/2015


 Anexos estao visíveis somente para usuários registrados

Já tentei tambem olha que eu tento usar assim aparece esta mensagem
i.Cells(3).Value = FormatNumber(Valor / total * 100, 2)



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por AMORIM em 05/03/2020 23:03:11