Jump to content
Sign in to follow this  
PreTenDer666

[VB6] ajuda no codigo de soma e casas decimais[Resolvido]

Recommended Posts

PreTenDer666

Boas, desculpem ser tão chato e estar a fazer sempre posts, mas alguem me pode dizer o que esta mal aki?

total = Text2.Text + Text3.Text

eu coloco isto e colocando os numero 1 e 9 ele em vez de somar, ele junta-os ficando 19...alguem me pode dizer qual poderá ser o problema? substituindo por * ou / ou - ele faz a conta bem mas com +... 😲

Share this post


Link to post
Share on other sites
UnKnowN

Boas, desculpem ser tão chato e estar a fazer sempre posts, mas alguem me pode dizer o que esta mal aki?

total = Text2.Text + Text3.Text

eu coloco isto e colocando os numero 1 e 9 ele em vez de somar, ele junta-os ficando 19...alguem me pode dizer qual poderá ser o problema? substituindo por * ou / ou - ele faz a conta bem mas com +... 😲

EhEh, tinha a mesma dúvida, mas é como em REALbasic, passo a explicar

Tens de pôr:

total = Val(Text2.Text) + Val(Text3.Text) 'Val = Valor, sendo o total igual ao valor da Text2.Text mais o valor da Text3.Text

Share this post


Link to post
Share on other sites
PreTenDer666

OMG...que basico...se tivesse um buraco aqui encondia-me... 😡 como é que não vi isso... UnKnowN Obrigado [[[[ ]]]]

Share this post


Link to post
Share on other sites
UnKnowN

OMG...que basico...se tivesse um buraco aqui encondia-me... 😡 como é que não vi isso... UnKnowN Obrigado [[[[ ]]]]

De nada eu tbm achei básico quando soube ... lol []

Share this post


Link to post
Share on other sites
PreTenDer666

Para nao estar a abrir uma nova...alguem sabe como meter o formato como se colocava em pascal? Pascal ex: resultado:8:3 -> aqui ja sabiamos que iria dar até 8 casas à frente da virgula, e dava sempre três casas atrás da virgula....aqui usei o k me disseram.. o format, mas quando a casa é um 0 ele coloca o resultado como 1, ...nao coloca o zero e como tal nao fica la mto bem....alguem me sabe ajudar?

Share this post


Link to post
Share on other sites
UnKnowN

Para nao estar a abrir uma nova...alguem sabe como meter o formato como se colocava em pascal? Pascal ex: resultado:8:3 -> aqui ja sabiamos que iria dar até 8 casas à frente da virgula, e dava sempre três casas atrás da virgula....aqui usei o k me disseram.. o format, mas quando a casa é um 0 ele coloca o resultado como 1, ...nao coloca o zero e como tal nao fica la mto bem....alguem me sabe ajudar?

Se mete em 1 quando é 0 tenta fazer Int()

Share this post


Link to post
Share on other sites
UnKnowN

TextBox2.Text = Format$ Int((Val(TextBox2.Text)+Val(Textbox3.Text), "###.##"))

Penso que seja qq coisa assim ... :)

Share this post


Link to post
Share on other sites
Tiago

eu Fazia só 

  TextBox2.text = Val(textBox2.text)+Val(Textbox3.text)   

Mas UnKnown  o Teu codigo é bom mas tipo o que faz a parte "###.##"? tipo para as Casas decimais !?

também dá tipo

  FormatNumber(TextBox2.text,0 ou 1 Kts Casas decimais Quiseres!!! é assim !?


Como Fiz Foi Assim!!
[code=vb] 

Private Sub Command1_Click()
Label3.Caption = Val(Text1.Text) + Val(Text2.Text) ' label3 vai ser onde vai Imprimir o Resultado 
Label3.Caption = FormatNumber(Val(Label3), 2)   

End Sub

[/code]

Share this post


Link to post
Share on other sites
UnKnowN

eu Fazia só 

  TextBox2.text = Val(textBox2.text)+Val(Textbox3.text)   

Mas UnKnown  o Teu codigo é bom mas tipo o que faz a parte "###.##"? tipo para as Casas decimais !?

também dá tipo

  FormatNumber(TextBox2.text,0 ou 1 Kts Casas decimais Quiseres!!! é assim !?


Como Fiz Foi Assim!!
[code=vb] 

Private Sub Command1_Click()
Label3.Caption = Val(Text1.Text) + Val(Text2.Text) ' label3 vai ser onde vai Imprimir o Resultado 
Label3.Caption = FormatNumber(Val(Label3), 2)   

End Sub

[/code]

LOL Ok Ok nao me batas ... lol, eu nao conhecia mais mandira nenhuma de reduzir às casas decimais que pretendo além desta ... :P

Share this post


Link to post
Share on other sites
Tiago

loool UnknOwn nao percebeste eu nai sei o ke isso faz a parte da  "###.##"?  fora de mim criticar as pessoas ke percebem mais do que eu!

apenas dei a minha ideia !!! lool

esta parte  Label3.Caption = FormatNumber(Val(Label3), 2)  vai meter duas casas decimais !! so para alguem ke nao saiba

um abraço

Share this post


Link to post
Share on other sites
UnKnowN

pois ok :P percebi, só para esclarecer a tua dúvida ... o ("###.##") ker dizer que só podem haver 2 casas decimais ... a parte do "###." nao sei se só permite nºs até às centenas :P é uma questao de experimentar B)

Share this post


Link to post
Share on other sites
psiico

pessoal o homem da duvida ta a falar d Pascal...

Para nao estar a abrir uma nova...alguem sabe como meter o formato como se colocava em pascal? Pascal ex: resultado:8:3 -> aqui ja sabiamos que iria dar até 8 casas à frente da virgula, e dava sempre três casas atrás da virgula....aqui usei o k me disseram.. o format, mas quando a casa é um 0 ele coloca o resultado como 1, ...nao coloca o zero e como tal nao fica la mto bem....alguem me sabe ajudar?

digo eu,lol! xD

Share this post


Link to post
Share on other sites
UnKnowN

Ah lol ok nao tinha percebido Upss :P

Bem , mas se é esse o caso acho que nao existe maneira de o fazer a não ser por algoritmos que estão expostos ao publico lol por geniozinhos da programaçao, dá uma GOoglada :P

Share this post


Link to post
Share on other sites
psiico

Ah lol ok nao tinha percebido Upss :P

Bem , mas se é esse o caso acho que nao existe maneira de o fazer a não ser por algoritmos que estão expostos ao publico lol por geniozinhos da programaçao, dá uma GOoglada :P

lool! pois bem m parecia xD

Share this post


Link to post
Share on other sites
PreTenDer666

Ja resolvi o meu problema

TextBox2.Text = Format$ Int((Val(TextBox2.Text)+Val(Textbox3.Text), "###.##"))

Penso que seja qq coisa assim ... :D

Em vez de colocar assim : ###.##

Coloquei : ###.00 desta maneira aparece sempre as casas decimais mesmo que o resultado seja só 1, ou seja aqui iria aparecer 1.00

Obrigado pela ajuda

[[[]]]

Share this post


Link to post
Share on other sites
UnKnowN

Ja resolvi o meu problema

TextBox2.Text = Format$ Int((Val(TextBox2.Text)+Val(Textbox3.Text), "###.##"))

Penso que seja qq coisa assim ... :D

Em vez de colocar assim : ###.##

Coloquei : ###.00 desta maneira aparece sempre as casas decimais mesmo que o resultado seja só 1, ou seja aqui iria aparecer 1.00

Obrigado pela ajuda

[[[]]]

De nada, mas já agora dou-te 1 conselho, usa mesmo o ###.## pk caso o teu nº seja 2.44444444 ele arredonda para 2.44 percebe ? :)

Share this post


Link to post
Share on other sites
PreTenDer666

Sim mas eu queria mesmo k aparece-se apenas 0.00, quero mesmo so ter essas duas casa e nao mais, por isso nao há problema neste caso.

[[ ]]

Share this post


Link to post
Share on other sites
UnKnowN

Sim mas eu queria mesmo k aparece-se apenas 0.00, quero mesmo so ter essas duas casa e nao mais, por isso nao há problema neste caso.

[[ ]]

Ah ok entao problem solved ;)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • 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.