这是我的代码:
<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>
我的问题:
如果
sum1
中没有值,则c_card_amount
和total_inc_charges
为NaN
。如何在其中输入条件,说明如果sum1
中没有值,则在total_inc_charges
中仅显示0。我已经读过有关此内容的信息,但无法根据我的代码找出答案。我的第二个问题是:例如,如何显示1,000.00格式的数字?
最佳答案
使用短路操作器。如果parseFloat()
== NaN
的结果,则该值将设置为零。
var sum1 = parseFloat($('input[name=sum1]').val()) || 0;
var sum2 = parseFloat($('input[name=sum2]').val()) || 0;
var sum3 = parseFloat($('input[name=sum3]').val()) || 0;
附加信息:
见MDN Expressions and Operators
关于javascript - jQuery计算-NaN和格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8446068/