Jump to content
williamjda

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

Recommended Posts

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

Edited by williamjda

Share this post


Link to post
Share on other sites
nelsonr

Multiplicar por 100?

E já agora devias testar se o valor do divisor não é zero, senão dá erro "Divided by zero"

Share this post


Link to post
Share on other 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

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other 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) & "%"

Share this post


Link to post
Share on other 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) & "%"

Edited by williamjda

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.