Ir para o conteúdo
williamjda

[Resolvido] Como converter um resultado da textbox de numero para %

Mensagens Recomendadas

williamjda

Amigos bom dia.Tenho uma questão que estou quebrando a cabeça...

Tenho um form com um

textbox1.text (quantidade em andamento) = 5

textbox2.tex (quantidade concluida) = 3

textbox3.text (Resultado da divisão do textbox 1 / 2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click			 textbox3.Text = Val(textbox1.Text) / Val(textbox2.Text)End Sub

No meu caso a resultado da questão é 5 / 2 = 0,6 que em porcetagem seria 60%.Preciso que o resultado retorne para mim 60% e não 0,6. Como posso resulver esta questão?

Att;William

Editado por williamjda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

A percentagem é uma representação mais agradável de rácios. Qualquer rácio devolve um valor entre 0 e 1, inclusive, o que multiplicado por 100 nos dá o resultado em percentagem, que nos é mais agradável ler. Por exemplo, é mais fácil dizer que temos um "desconto de 60%" do que um "desconto de 0,6" (até parece não fazer sentido dito assim). Portanto, percentagem = rácio * 100%.

Por outro lado, e como o @nelsonr disse e muito bem, verifica o caso da divisão por zero, se não o programa vai abaixo.

Por último, como eu não sou adepto da conversão implícita, converte o resultado em String, estás a atribuir um Double a uma propriedade do tipo String. O VB permite isso, mas não acho boa prática.

(a + b).ToString

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
williamjda

Amigos boa tarde e eobrigado pela ajuda.

O código ficou assim.

Dim Result As Double
    Result = Val((TextBox1.Text / TextBox2.Text))
    TextBox3.Text = String.Format("{0:N2}", Result) & "%"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
williamjda

Pessoal fiz uma pequena melhora para retornar o resultado em 100% e não 1,00%

Dim Result As Double
'quando é pra saber o valor que corresponde do total ai vc faz x 100
	Result = Val((txtConcl.Text / txtTotal.Text) * 100)		 txtPercConl.Text = String.Format("{0:N2}", Result) & "%"

Editado por williamjda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.