Javascript 添加总计未正确添加

Javascript 添加总计未正确添加,javascript,jquery,add,Javascript,Jquery,Add,我有一个脚本,根据价格、数量、税收和运输成本计算总额。当我试图将它们加在一起时,我收到了总成本的高数字 以下是脚本: function calculate() { var total = 0; var shiptotal = 0; var subtotal = 0; var taxtotal = 0; var taxrate = .078; $('.button-click').each(function () { var amt = parseInt($(this).prev().va

我有一个脚本,根据价格、数量、税收和运输成本计算总额。当我试图将它们加在一起时,我收到了总成本的高数字

以下是脚本:

function calculate() {
var total = 0;
var shiptotal = 0;
var subtotal = 0;
var taxtotal = 0;
var taxrate = .078;
$('.button-click').each(function () {
    var amt = parseInt($(this).prev().val());
    var qty = parseInt($(this).parent().find(".quantity").val());
    var ship = parseInt($(this).parent().find(".ik-ship").val());
    shiptotal += (ship * qty);
    subtotal += (amt * qty);
    taxtotal += ( (amt * qty) * taxrate);
    total += ( subtotal + shiptotal + taxtotal );

});
$('#Amount').val(total.toFixed(2));
 $('.total-amount').html( total.toFixed(2) );
 $('.sub-total-amount').html( subtotal.toFixed(2) );
 $('.shipping-amount').html( shiptotal.toFixed(2) );
 $('.tax-amount').html( taxtotal.toFixed(2) );
}
一款售价为62.00美元、运费为3.00美元的产品的生产情况如下:

SUB-TOTAL: 62.00
SHIPPING: 3.00
TAX: 4.84
TOTAL: 1257.05 <-- incorrect total -->
小计:62.00
运费:3.00
税款:4.84
总数:1257.05

我可能在电脑前待的时间太长了,但我该如何解决这个问题呢?请提供一个例子。

使用整数数学,将数字乘以1000。

可能重复@DanielA.White-我不确定我是否理解这个问题。也不确定答案如何帮助我解决问题。由于浮点数的精度问题,您不应该将它们用于货币计算。用美分来存储和处理您的价格。@FelixKling-那么我该如何更正代码来解决这个问题呢?在您的情况下,您甚至不能使用美分,因为税率似乎是逗号后有三位数字的十进制,而不是两位数字。正如Tei已经说过的,你必须先处理整数,然后除以1000。因此,
taxrate
变为
78
var-amt=parseInt((this.prev().val())*1000