js实现税
计算税额的基本方法
在JavaScript中计算税额通常需要明确税率和计税基数。以增值税为例,基本公式为:
function calculateTax(amount, taxRate) {
return amount * (taxRate / 100);
}
// 示例:计算100元13%增值税
console.log(calculateTax(100, 13)); // 输出13
含税价与不含税价转换
处理含税价时需区分价税分离逻辑:

// 不含税价转含税价
function addTax(excludingTaxAmount, taxRate) {
return excludingTaxAmount * (1 + taxRate / 100);
}
// 含税价转不含税价
function excludeTax(includingTaxAmount, taxRate) {
return includingTaxAmount / (1 + taxRate / 100);
}
多级累进税率计算
针对个人所得税等累进税制,可采用阶梯判断:

function progressiveTax(income, brackets) {
let tax = 0;
for (let i = 0; i < brackets.length; i++) {
if (income > brackets[i].threshold) {
tax += (Math.min(income, brackets[i+1]?.threshold || Infinity)
- brackets[i].threshold) * brackets[i].rate;
}
}
return tax;
}
// 示例税率表
const taxBrackets = [
{ threshold: 0, rate: 0.03 },
{ threshold: 36000, rate: 0.1 },
{ threshold: 144000, rate: 0.2 }
];
税务格式化输出
金额显示需处理小数精度和货币符号:
function formatTax(taxAmount, currency = '¥') {
return `${currency}${taxAmount.toFixed(2)}`;
}
实际应用注意事项
税率参数应从权威数据源动态获取,避免硬编码。涉及敏感计算时需进行四舍五入处理:
function preciseRound(value, decimals = 2) {
return Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals);
}
重要税务系统应结合后端验证,前端计算仅作为预估参考。跨境业务需考虑不同地区的税率规则差异。






