1

我正在制作一个表格,其中有一个预期总数和一个实际总数。最后一个字段应显示字段值的差异。所以代码应该做的是在比较字段中的数据后显示一个负数或正数,如果这些基数改变,结果也应该改变。这是我到目前为止所拥有的:

我上面有更多代码,下面的代码工作正常,只是没有显示数字是负数还是正数。

var difference = ztotal - total;

这是我遇到问题的地方,代码的第一部分工作正常并显示负数,但第二部分添加了“+-”。如果 ztotal 或总金额发生变化以反映正确的结果,我需要删除加号或减号。

  if(ztotal > total){
    $('#difference').val(parseFloat(difference).toFixed(2) * -1);
  }
  else {
    $('#difference').val('+' + parseFloat(difference).toFixed(2));

}

4

1 回答 1

1

您的代码存在一些问题:

  1. parseFloat函数将类型变量转换String为您需要的任何类型,在本例中为浮点数。只需废弃该功能的使用
  2. 为什么要检查一个是否大于另一个,而不仅仅是简单地输出数字。例如:

    var difference = total - ztotal;
    $("#difference").val((difference > 0 ? "+" : "") + difference.toFixed(2));
    

该示例使用简写 if-else 结构。这是看起来像这样的部分:

    difference > 0 ? "+" : ""

这意味着如果变量difference大于 0,则写一个“+”,否则,写一个“”(空白字符串)。它只是节省空间!

于 2013-03-14T16:39:47.327 回答