为什么我的抵押贷款计算器显示的小数位数不正确?

丰富

我正在使用计算器,到目前为止效果非常好,只是将小数点放在错误的位置,从而导致我的舍入函数给出错误的数字。代码和示例如下所示:

$(function() {
  // Create USD currency formatter.
  var formatter = new Intl.NumberFormat('en-US', {
    style: 'currency',
    currency: 'USD',
    minimumFractionDigits: 2,
  });

  function calculateAI() {
    var tax = parseFloat(('2,000').replace(/\$|,/g, ''));
    var hoa = parseFloat(('200').replace(/\$|,/g, ''));
    var cable = parseFloat(('30,000').replace(/\$|,/g, ''));
    var util = parseFloat(('44').replace(/\$|,/g, ''));
    var other = parseFloat(('0').replace(/\$|,/g, ''));
    var price = parseFloat(('200,000').replace(/\$|,/g, ''));
    var years = parseFloat(('30').replace(/\$|,/g, ''));
    var percent = parseFloat(('10').replace(/\$|,/g, ''));
    var yearp = parseFloat(('3.5').replace(/\$|,/g, ''));

    var deposit = (percent / 100) * price;
    var loan = price - deposit;
    var interest = (yearp / 100) / 12;
    var months = years * 12;

    var mtotal = loan * interest * (Math.pow(1 + interest, months)) / (Math.pow(1 + interest, months) - 1) || 0;
    var mortamount = mtotal;

    var ai_total = tax + hoa + cable + util + other + mortamount;

    document.getElementById('1870').innerHTML = formatter.format(ai_total);
    document.getElementById('1870-mort').innerHTML = mortamount;
  }
  calculateAI();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="1870-mort"></div>
<div id="1870" style="margin-top: 3px;"></div>

计算器发出-

808.2804380558849

但这应该是-

80.82804380558849

因此,我可以将其四舍五入为“ 81”,然后继续进行计算。

我究竟做错了什么?

丰富

我知道了,这是我的帖子页面上的代码中的错字,使数字有所不同。实际上,我的公式确实可以正常工作。尽管我的问题是因为我的错误,但希望人们能发现我发布的代码有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章