首页 > 解决方案 > 如何在使用Javascript计算时在字段中没有输入值时删除NaN

问题描述

    var discount_amount = parseFloat($('#amtdelivary').val());
    var other_discount = parseFloat($('#othdis').val());
    calculate_total_amount=Math.round(sub_total1 + tax_amount +discount_amount-other_discount);
    $('#fnltot').val(calculate_total_amount);

当我将 other_discount 文本字段保留为空时,它显示一个 NaN。如果文本字段为 0,则其功能准确,但当该字段设置为空时,其结果为 NaN。

    if(isNaN(other_discount)){
                other_discount=0;
            }

我厌倦了这些,但它不起作用。

标签: javascript

解决方案


|| 0在你parseFloat喜欢下面的后面附加。如果 value 返回为NaN或任何falsy值,则它将返回0而不是NaN.

var discount_amount = parseFloat($('#amtdelivary').val()) || 0;
var other_discount = parseFloat($('#othdis').val()) || 0;

var discount_amount = parseFloat();
console.log(discount_amount);

// Your if condition should also work.
if(isNaN(discount_amount)) {
  discount_amount = 0;
}
console.log(discount_amount);

// Alternate and single line solution.
discount_amount = parseFloat() || 0;
console.log(discount_amount);


推荐阅读