Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IvanASP

AS com sinal +, concatena em vez de somar.

Recommended Posts

Prezados Colegas:Não estou conseguindo resolver algo que me parece muito simples:Preciso somar o conteúdo de dois campos e colocar em um terceiro. Acontece que, em vez de somar, o AS está concatenando. Exemplo :Na camada ações:var VarIn1:Number = 0;var VarIn2:Number = 0;var VarSub:Number = 0;Na instância do botão:on (release){ VarSub = VarIn1 + VarIn2;}Resultado23 = 2 + 3O resultado deveria ser 5.O curioso é que quando troco o operador soma pelo de multiplicação, funciona, o resultado é 6.Agradeço a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os valores estão vindo de um campo de texto? Então eles sempre virão como String, tem que converter antes:VarSub = Number(VarIn1) + Number(VarIn2);Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Antoniosp:Agradeço muito sua ajuda, porém,VarSub também é um campo texto. (É o sub-total);Segui sua orientação e coloquei VarSub = Number(VarIn1) + Number(VarIn2);E o resultado em VarSub foi NaN.Ainda deve ter um pequeno macete para contornar isso. Pode me ajudar?Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente os valores em VarIn1 e 2 não são números (Not a Number). Tem que ser só digitos, casa decimal com ponto e não vírgula, e sem espaços.Ah, uma coisa: VarSub é a variável do campo ou o nome de instância dele?Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

É melhor então usar só o nome de instância:on (release){SubTotal.text = Number(VarIn1) + Number(VarIn2);}E acredito também que as vars VarIn1 e 2 tenham um nome de instância também.Ah... confirmei aqui e apenas usando variáveis e o Number() e deu certo sim. Veja se não é o que você está escrevendo no campo de imput, como falei no post anterior.Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Antoniosp:Graças a sua orientação, as suas dicas e aos seus exemplos, consegui resolver o problema de somar dois campos e colocar o resultado em um terceiro. Ficou assim:on (release){A = Valor1.text;B = Valor2.text;C = Number(A) + Number(B);SubTot.text = C;}O erro que eu estava cometendo, e que você me alertou, era querer somar direto das variáveis atribuidas aos campos texto.Muito grato por tudo.Ivan Albuquerque

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.