Translate

quarta-feira, 7 de maio de 2014

Javascript - Função para somar valores decimais

Tive um problema com uma soma em javascript onde quando o resultado era entre 1,01 e 1,99 ele entendia que não era maior que 1, sendo necessário então tratar valores decimais com a função abaixo.

  function valida_campos(p_obj)
             
             { 
              //Se os campos estiverem vazios preencho com zero            
              if (document.frm_filtro.campo1.value == "")
                  {
                    document.frm_filtro.campo1.value="0,00";
                  }
                
              if (document.frm_filtro.campo2.value == "")
                  {
                    document.frm_filtro.campo2.value="0,00";
                  }                  
              
              var v_campo1 = document.frm_filtro.campo1.value;
              var v_campo2 = document.frm_filtro.campo2.value;
                
              v_campo1 = v_campo1.replace(",",".");
              v_campo2 = v_campo2.replace(",",".");

              var v_soma = (parseFloat(v_campo1) + parseFloat(v_campo2)).toFixed(2);                
              
              // A soma dos campos campo1 e campo2 não podem ser maiores que 1                  
              if ((v_soma) > 1 ) 
                 {
                   alert("Soma dos valores não podem ser maior que 1");
                   document.frm_filtro.campo1.value="0,00"; 
                   document.frm_filtro.campo2.value="0,00"; 
                   p_obj.focus();
                   return false;
                 }  

Nenhum comentário:

Postar um comentário