// L'impôt final est le résultat de ces trois opérations succéssives sur le revenu imposable annuel
impôtFinal = décote(barème(abattement(2000 * 12)));
// Voici ces opérations une par une :
function abattement(revenuImposable) {
return revenuImposable - revenuImposable * (10/100);
}
function barème(assiette) {
return (
Math.max(Math.min(assiette, 27086) - 9807, 0) * 0.14 +
Math.max(Math.min(assiette, 72617) - 27086, 0) * 0.3 +
Math.max(Math.min(assiette, 153783) - 72617, 0) * 0.41 +
Math.max(assiette - 153783, 0) * 0.45
);
}
function décote(impôt) {
if (impôt < 1569) return Math.max(impôt - (1177 - impôt * (3 / 4)), 0);
else return impôt;
}
// On affiche le résultat final
impôtFinal