Ir para conteúdo
Fórum Script Brasil
  • 0

subtração campos formatados


Pedro Gaz

Pergunta

Bom dia pessoal, sou novo aqui no forum e espero que não esteja fazendo nada de errado tendo criado esse tópico,

Minha duvida é a seguinte:

Tenho dois campos textbox que estão sendo formatados automaticamente com o onKeyPress por uma função monetaria (ex: 1.234,56)

Gostaria de saber como faço para fazer uma subtração desses campos usando o OnBlur no segundo campo, mostrando em um outro campo o resultado da subtração já formatado monetariamente.

Na verdade minha dúvida mesmo é como subtrair os campor formatados, eu teria que remover o . e substituir a , por um . e dai fazer a subtração? Mas como fazer isso..

Obrigado a todos. :blush:

Editado por Pedro Gaz
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Mas como utilizo essa função? se possivel um exemplo...

Não entendi o questionamento!

você irá utilizar a função parseFloat como qualquer outra função Javascritp ou de qualquer outra liguagem. Seria algo assim:

var res = paseFloat(campo)  - parseFloat(valor)

Dai é só adaptar a vossa necessidade.

Para informações completas sobre funções Javascript é só pesquisar no google onde você achará materia com exemplos e explicações didáticas.

Link para o comentário
Compartilhar em outros sites

  • 0

Tudo bem isso eu sei, mas não esta dando certo pois o meu valor que deve ser subtraido é de formato 1.234,56 como falei no primeiro post e sendo assim ele não faz a subtração corretamente, minha duvida era se o certo é converter esse valor para 1234.56 e então fazer a subtração. e como o converter para essa representação.

Link para o comentário
Compartilhar em outros sites

  • 0

Sinceramente só testando.

A função parseFlot é faz a conversão mas não sei dizer sem efetuar uns testes como ele se comportará. Na verdade trabalho com várias liguagens e bancos de dados dai não têm como sabe de cabeço como determinada função funciona.

Faça os uns testes se com 1.234,56 nã funcionar tenta com 1234.56 com e javascritp os testes são simples de serem efetuados.

Eu tuiliza esta função para algo parecido, mas a muito tempo atrás:

function passaFloat(valor){
        var bPonto = /\./g;
        var bVirgu = /\,/g;
        var contVirgu = 0;
        var contPonto = 0;
        var letra = "";
        if (valor==""){valor = "0";}
        valor = valor.toString();
        if (valor.indexOf(",")!=-1){
            valor = valor.replace(bPonto,"");
            for (var i = 0; i < valor.length; i++){
                letra = valor.charAt(i);
                if (letra == ","){contVirgu = contVirgu + 1;}
            }
            if (contVirgu <= 1){
                valor = valor.replace(",",".");}
            else {
                valor = valor.replace(bVirgu,"");
                valor = colocaString(valor,".",2);
            }
        } else {
            if (valor.indexOf(".")!=-1){
                for (var i = 0; i < valor.length; i++){
                    letra = valor.charAt(i);
                    if (letra == "."){contPonto = contPonto + 1;}
                }
                if (contPonto > 1){
                    valor = valor.replace(bPonto,"");}
            }
        }
        valor = parseFloat(valor);
        return valor;
    }

Com disse só mesmo utilizando a teoria suína fuçando bastante.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...