Как рассчитать эффективную налоговую ставку в Javascript? - PullRequest
1 голос
/ 03 августа 2020

В настоящее время у меня есть набор интервалов, которые можно использовать, чтобы узнать, какая ставка налога для этой зарплаты. с зарплатой в 10000 долларов, что составляет %12. Но я выяснил, что федеральный подоходный налог работает так, что вы облагаетесь налогом частями. пример .

Итак, если у меня зарплата 50 000 долларов, то «вы будете платить 10% с первых 9 875 долларов и 12% с части дохода от 9 876 до 40 125 долларов США. А затем вы заплатите 22 % от остального, потому что часть вашего налогооблагаемого дохода в размере 50 000 долларов США попадает в группу 22% налога. Общий счет составит около 6 800 долларов США - около 14% вашего налогооблагаемого дохода, даже если вы находитесь в группе 22%. % называется вашей эффективной налоговой ставкой ".

Как лучше всего это сделать?

1 Ответ

2 голосов
/ 03 августа 2020

Примерно так

const income = 50000;

let totalTaxes = 0;

if (income < 9875) {
  totalTaxes += income * 0.1;
}
else {
  totalTaxes += 9875 * 0.1;
  if (income < 40125) {
    totalTaxes += (income - 9875) * 0.12;
  }
  else {
    totalTaxes += (40125 - 9875) * 0.12;
    //et cetera
  }
}

редактировать: Dynami c решение Я изменил массив интервалов, чтобы упростить его: первый элемент - это верхний предел предыдущего, а третий элемент - ставка налога. Выходы 6790

const singleIntervals = [
  [0, 9875, 0.1],
  [9875, 40125, 0.12],
  [40125, 85525, 0.22],
  [85525, 163300, 0.24],
  [163300, 207350, 0.32],
  [207350, 518400, 0.35],
  [518400, 900000000, 0.37],
];

const income = 50000;

let totalTaxes = 0;
for (const interval of singleIntervals) {
  if (income < interval[1]) {
    totalTaxes += (income - interval[0]) * interval[2];
    break;
  }
  else {
    totalTaxes += (interval[1] - interval[0]) * interval[2];
  }
}

console.log(totalTaxes);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...