AJUDA COM DECIMAL

ROARENA 21/02/2010 12:41:07
#334948
Galera tô com uma dúvida muito chata.
é o seguinte, eu tenho os seguintes componentes no meu form:
-2 Caixas de texto
-1 Label
- 1 Botão

O que eu não consigo fazer é, quando eu tento multiplicar um número decimal o resultado não aparece com o mesmo.
Por exemplo, tento multiplicar 56 * 8.8, o resultado deveria ser 492.8, mas ele só sai 4928.

Alguem pode me ajudar com essa dúvida boba? =)
RICKSOUSA 21/02/2010 12:44:30
#334949
tenta assim.

onde vai mostrar o valor é no label? se for....

na parte do codigo do botão vc faz esse codigo

label.caption = ccur(text1.text) * ccur(text2.text)

mais se não é no label faça o mesmo codigo acima ok e diga se deu certo ou não....
ROBIU 21/02/2010 13:05:01
#334951
Resposta escolhida
A notação correta do decimal é a vírgula [Ô],[Ô]. O sistema considera 8.8=88. [txt-color=#e80000]Troque o ponto pela vírgula que resolve[/txt-color]. Poderia fazer isso com o replace, porém há o ponto para os milhares. Para pegar a posição do campo e verificar se vírgula ou ponto e aplicar o replace também parece desnecessário. Deve tratar o valor ao chegar na textbox.

Correto:
Text2.Text = 8.8 [ô]Vai aparecer 8,8 na textbox
Text1.Text = 56
Label1.Caption = CDec(Text1.Text) * CDec(Text2.Text)


Errado

Text2.Text = [Ô]8.8[Ô] [ô]Vai aparecer 8.8 na textbox 
Text1.Text = 56
Label1.Caption = CDec(Text1.Text) * CDec(Text2.Text)


Note que para efetuar cálculos direto das textbox, devemos tomar alguns cuidados para não ocorrer erro:
1 - Verificar se o campo está vazio - Se vazio, colocar 0
2 - Verificar se os dados são numéricos
3 - Converter os campos pos Textboxs são do tipo string- Usando as funções de conversão: Cdec(), Cdbl(),Ccur() etc

DENISSS 21/02/2010 13:08:51
#334954
Bem explicado Ricksousa, o que poderia estar acontecendo, era que os numeros que estavao sendo multiplicados estavao sendo tratados como uma integer.
por isto nao funcionava corretamente, ja no caso que o RIcksousa demostrou, faz a conversao para Currency, que usa ponto decimal, e ai sim funcionando
corretamente.
ROARENA 21/02/2010 13:24:45
#334956
Valeu galera, agora tá funcionando.
Queria saber se da pra mim detectar um determinado caracter digitado na caixa de texto.
Por exemplo, eu quero saber se na minha caixa de texto tem a letra [Ô]A[Ô]
RICKSOUSA 21/02/2010 13:28:37
#334959
ROARENA encerre esse tópico e crie um novo, para quando o pessoal for buscar por um determinado tópico tiver tudo separadinho ok!....

espero ter ajudado!
Tópico encerrado , respostas não são mais permitidas