答案:不可能。
这个问题是一位同事提出的,我看了半天税的算法,还是不懂,于是用画图的方法把税前和税后的钱数画出来,清楚多了。
根据现有的个人所得税政策(起征点3500),税前税后的关系如图:

那为啥那位同事那么说呢,可能和我们奇怪的政策有关,具体无法明言,只能说这个政策具有类似“退税”的概念,使得我们可能出现「钱多税少」的现象。
代码如下,好事者可以研究一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| function retval = tax (money) start = 3500; l = money .- start; l(l <= 0) = 0;
retval = arrayfun(@p, l); endfunction
function r = p (val) table = [1500 0.03 0 4500 0.10 105 9000 0.20 555 35000 0.25 1005 55000 0.30 2755 80000 0.35 5505 80000 0.45 13505 ]; for x = 1:size(table, 1) if (val <= table(x, 1)) r = val * table(x, 2) - table(x, 3); return; endif endfor r = val * table(end, 2) - table(end, 3); endfunction
x = [0:100000]; plot(x, x - tax(x)); set(findall(gcf(), "-property", "interpreter"), "interpreter", "TeX"); xlabel('\fontsize{24}{Pre-tax}'); ylabel('\fontsize{24}{After-tax}'); set(gca(), "xminortick", "on", "yminortick", "on"); print("Tax1.ps", "-color");
|