Calculate broken numbers

Asked

Viewed 36 times

-3

I own this section, but on the console it appears 64, not 64.9. How I can add in the right way?

var carga_adicional = parseFloat('25,00');
var carga_parceiro = parseFloat('39,90');
var adicionais = parseFloat(carga_adicional + carga_parceiro);
console.log(adicionais);
  • 2

    You’ll have to make one replace(',', '.') before parse, as commas are not recognized as decimal separators.

  • your question is javascript and not jquery.

2 answers

1


Swap the comma for the dot

var carga_adicional = parseFloat('25.00');
var carga_parceiro = parseFloat('39.90');
var adicionais = parseFloat(carga_adicional + carga_parceiro);
console.log(adicionais);

1

Mathematical calculations in Javascript only with numbers in American format, ie decimal separated by point.

If values are passed via text fields, independente de serem digitados com vírgula ou ponto, you can use it that way:

$("#ca,#cp").focusout(function(){
   //recupera valores dos inputs
   carga_adicional = $("#ca").val();
   carga_parceiro = $("#cp").val();
          
   //troca virgulas por pontos
   cA = carga_adicional.replace(/\,/g,'.');
   cP = carga_parceiro.replace(/\,/g,'.');
          
   //verifica se valor é nulo, se for atribui valor 0
   (cP == "")?cP=0:cP;
   (cA == "")?cA=0:cA;

   adicionais = ( parseFloat(cA) + parseFloat(cP) );
   adicionais=adicionais.toFixed(2);

   //representado como um valor em texto       
   adicionais = adicionais.toString();
          
   //retorna valor com virgula
   adicionais = adicionais.replace(/\./g,',');

 console.log(adicionais);
 });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

   <input id="ca">
   <input id="cp">

Browser other questions tagged

You are not signed in. Login or sign up in order to post.