Ir para conteúdo

POWERED BY:

Arquivado

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

André Freitas

[Resolvido] Realizar calculo com variaveis

Recommended Posts

Pessoal, tentei de varias formas fazer um calculo Total = Preço * Qtde , mas retorna sempre NaN...

Da forma q estou tentando, se eu fizer Total = Preço * 10 o calculo funciona... ou Total = Quantidade * 10 tambem funciona... mas Total = Preco * Qtde nao funciona...rs

<script type="text/javascript">
        function RetornarValores() {

            if (window.opener) {
                var Cod_produto = document.getElementById("hiddenfield1").value;
                var Descricao = document.getElementById("hiddenfield2").value;
                var Unidade_Medida = document.getElementById("hiddenfield3").value;
                var Preco = document.getElementById("hiddenfield4").value;                

                window.opener.document.getElementById("COD_PRODUTO").value = Cod_produto;
                window.opener.document.getElementById("DESCRICAO").value = Descricao;
                window.opener.document.getElementById("UNIDADE_MEDIDA").value = Unidade_Medida;
                window.opener.document.getElementById("PRECO").value = Preco;

                var Qtde = window.opener.document.getElementById("QTDE").value;                
                var Total = "0.0";

                //Total = parseFloat(Total);
                //Preco = parseFloat(Preco);
                //Qtde = parseFloat(Qtde);

                Total = Qtde * Preco;

                Total = Number.toString(Total);

                
                window.opener.document.getElementById("TOTAL").value = Total;
                                             

                window.close();                
            }
        }
   </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

NaN é Not a Number

 

veja sobre as funções parseFloat(), e parseInt() para garantir que os componentes do teu cálculo sejam números.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia William,

 

Na minha base de dados os campos Preco, Qtde e Total são todos do tipo Money (SQL Server).

Fora do javascript , a conversão com Decimal funcionou.

Tentei muitas vezes com várias combinações de conversões (pode ver que tem algumas conversões como comentário).

 

As variaveis estao pegando valores de textbox(string).

 

Não sei se influencia, mas meus valores são todos com virgula e o parseFloat converte usando ponto.

 

André

Compartilhar este post


Link para o post
Compartilhar em outros sites

javascript assim como a maioria das linguagens, usa o sistema decimal americano.. ou seja.. ponto (.), como separador decimal.

 

converta primeiro, trocando as virgulas para ponto (str_replace()), para depois fazer os cálculos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

javascript assim como a maioria das linguagens, usa o sistema decimal americano.. ou seja.. ponto (.), como separador decimal.

 

converta primeiro, trocando as virgulas para ponto (str_replace()), para depois fazer os cálculos.

 

 

beleza, funcionou.

 

Só deixando uma dica, primeiro faz o str_replace pra substituir os caracteres, depois converte dm float usando parseFloat... depois faz o calculo

 

Depois fiz a conversao pra string da seguinte forma : Total = Total + ""; e mandei pro textbox novamente...

Show de bola

 

Vlw!

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.