jQuery函数中的Infinity和nan

时间:2018-12-17 17:55:12

标签: jquery

这是我的jQuery函数,在结果中得到 infinity nan

我在 Onblur 事件中调用此函数,我不知道我在此函数中的错误所在。

这是我第一次使用jQuery函数面对 infinity

我不知道我的功能在哪里出错。

enter image description here

function gettotal()
{
  var item_id       = $('.item_id').val() != '' ? $('.item_id').val() : 0;
  var kg            = $('.kg').val() != '' ? $('.kg').val() : 0;
  var touch         = $('.touch').val() != '' ? $('.touch').val() : 0;
  var total         = $('.total').val() != '' ? $('.total').val() : 0;
  var minius        = $('.minius').val() != '' ? $('.minius').val() : 0;
  var total         = $('.total').val() != '' ? $('.total').val() : 0;
  var kediamPer     = $('.kediamPer').val() != '' ? $('.kediamPer').val() : 0;
  var kediam        = $('.kediam').val() != '' ? $('.kediam').val() : 0;
  var jasatper      = $('.jasatper').val() != '' ? $('.jasatper').val() : 0;
  var jasatwt       = $('.jasatwt').val() != '' ? $('.jasatwt').val() : 0;
  var copper        = $('.copper').val() != '' ? $('.copper').val() : 0;
  var totalWet      = 0;
  var gross         = 0;
  var grossKdm      = 0;
  var grosscop      = 0;
  var grossjasat    = 0;

  totalWet = (parseFloat(kg) * (parseFloat(100) / parseFloat(touch)));
  $('.total').val(totalWet.toFixed(0));

  gross = (parseFloat(total) - (parseFloat(kg)));
  $('.minius').val(gross.toFixed(0));

  gross = (parseFloat(total) - (parseFloat(kg)));
  $('.minius').val(gross.toFixed(0));

  if(item_id == 1)
  {
      grossKdm = (parseFloat(minius) * (parseFloat(kediamPer)) / 100);
      $('.kediam').val(grossKdm.toFixed(0));

      grosscop = (parseFloat(minius) - (parseFloat(kediam)));
      $('.copper').val(grosscop.toFixed(0));
  }
  else
  {
      grossjasat = (parseFloat(minius) * (parseFloat(jasatper)) / 100);
      $('.jasatwt').val(grossjasat.toFixed(0));

      grosscop = (parseFloat(minius) - (parseFloat(jasatwt)));
      $('.copper').val(grosscop.toFixed(0));
  }
}

2 个答案:

答案 0 :(得分:0)

我认为存在写无穷大的原因,因为“触摸”的默认值为0。您正在进行除法,而不能用0除法。

答案 1 :(得分:0)

这应该有效:

program substituire_MA_cu_TA;
var s:string; 
i:integer;begin writeln('Dati sirul'); readln(s); i:=2; 
while i<=length(s) do if s[i-1]+s[i]='MA' then s[i-1]:='T' 
else i:=i+1; 
writeln('sirul obtinut este=',s); readln
end.