Peter
Peter

Reputation: 135

jquery calculation - NaN and formatting

This is my code:

<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.field.js" type="text/javascript"></script>
<script src="js/jquery.calculation.js" type="text/javascript"></script>
<script>

$(function() {
      $('input[name^=sum]').keyup(function() {
            var sum1 = parseFloat($('input[name=sum1]').val());
            var sum2 = parseFloat($('input[name=sum2]').val()); 
    var sum3 = parseFloat($('input[name=sum3]').val()); 


            $('#c_card_amount').val(sum1*sum3/100);
    $('#total_inc_charges').val((sum1*sum3/100)+sum1);
    });
});

</script>

My questions:

  1. If no value is in sum1 the c_card_amount and the total_inc_charges are NaN. How can I put a condition in this that says if no value is in sum1 just show 0 in total_inc_charges. I've read about this but I could not figure out the answer in terms of my code.

  2. My second question is: how can I show the numbers in 1,000.00 format for instance?

Upvotes: 1

Views: 1608

Answers (1)

James Hill
James Hill

Reputation: 61812

Use a short-circuit operator. If the result of parseFloat() == NaN, the value will be set to zero.

var sum1 = parseFloat($('input[name=sum1]').val()) || 0;
var sum2 = parseFloat($('input[name=sum2]').val()) || 0; 
var sum3 = parseFloat($('input[name=sum3]').val()) || 0; 

Additional Information:

See MDN Expressions and Operators

Upvotes: 3

Related Questions