Javascript 如何在jQuery中计算税收百分比?

Javascript 如何在jQuery中计算税收百分比?,javascript,Javascript,这是我第一次在这里问问题,所以我希望我能正确回答 为了说明情况,我正在开发一个小网站,律师可以在其中购买一些法律文件的数字版本,但我在计算总成本的税收时遇到了麻烦 根据加拿大魁北克省使用的两种税率计算税收:GST(5%)和QST(9.975%)。这两种费率均使用小计金额计算。以下是我迄今为止所做的尝试: $(“#formchoix#checkall”)。单击(函数(){ var tps=0.05;//5% var tvq=0.09975;//9.975% var小计=0; var合计=0; 如果

这是我第一次在这里问问题,所以我希望我能正确回答

为了说明情况,我正在开发一个小网站,律师可以在其中购买一些法律文件的数字版本,但我在计算总成本的税收时遇到了麻烦

根据加拿大魁北克省使用的两种税率计算税收:GST(5%)和QST(9.975%)。这两种费率均使用小计金额计算。以下是我迄今为止所做的尝试:

$(“#formchoix#checkall”)。单击(函数(){
var tps=0.05;//5%
var tvq=0.09975;//9.975%
var小计=0;
var合计=0;
如果($(“#formchoix#checkall”)。是(“:checked”)){
$(“#formchoix输入[type=checkbox].checkchoix”).each(函数(){
//检查所有表格
$(this).prop(“选中”,true);
$(“.checknom”).prop(“选中”,为真);
$(“.checkid”).prop(“选中”,为真);
小计+=15;//每种形式为15$
$(“#小计”).html(小计+”.00$”;//小计显示给用户
var税=小计*tps*tvq;
总计=小计+税费;
$('#totalcost').html(total.toFixed(2)+'$');//显示给用户的总计
$('#inputTotal').val(total.toFixed(2));//要发送到服务器的值
});
}否则{
$(“#formchoix输入[类型=复选框]”)。每个(函数(){
//重置所有内容:向用户显示复选框、值和总数
$(this).prop(“选中”,false);
$(“.checknom”).prop(“checked”,false);
$(“.checkid”).prop(“选中”,false);
小计=0;
总数=0;
$('小计').html('0.00$);
$('totalcost').html('0.00$);
$('#inputTotal').val('0.00');
});
}
});
但是上面的代码没有给我正确的号码。例如,如果我的小计是30美元,它将显示30.15美元,而不是30.49美元(基于在线税务计算器)

我也尝试过使用1.05和1.09975这样的值,并直接使用
total=subtotal*tps*tvq
将它们乘以小计,但是总数给了我30.64美元(如果小计与我前面的示例一样是30美元)


很明显,我所做的是错的,那么我如何才能确保总数是正确的呢

30*0.05*0.09975=0.149625
,通过调用
toFixed(2)
将其四舍五入为0.15。数学不会说谎。正如其他人所建议的,你在征税

var taxes = subtotal * tps * tvq;
total = subtotal + taxes;
应改为

total = subtotal + subtotal * tps + subtotal * tvq;


问题在于您的税务计算代码。这样做->风险值税=(小计*tps)+(小计*tvq);试试
小计*(1+0.05+0.09975)
否则你就要征税了。我投票把这个问题作为离题题题来结束,因为它是一个数学问题。真不敢相信我没有想到。我不习惯用jQuery做数学。谢谢你,它工作得很好charm@IkotaijQuery只是为了显示结果,数学规则不会改变:)我没有意识到这是一个数学问题,我以为这是我的代码。再次感谢。我将尝试更多地理解我的代码,并在下次我想问问题时考虑到这一点:)
total = subtotal * (1 + tps + tvq);