Skip to content

Instantly share code, notes, and snippets.

@IskenHuang
Last active August 29, 2015 13:56
Show Gist options
  • Save IskenHuang/9318189 to your computer and use it in GitHub Desktop.
Save IskenHuang/9318189 to your computer and use it in GitHub Desktop.
translate salary
// http://40era.com/2641/
var calTW = function(salary, mo) {
var range = {
r1: {
off: 0,
tax: 3,
range: 1500
},
r2: {
off: 105,
tax: 10,
range: 4500
},
r3: {
off: 555,
tax: 20,
range: 9000
},
r4: {
off: 1005,
tax: 25,
range: 35000
},
r5: {
off: 2755,
tax: 30,
range: 55000
},
r6: {
off: 5505,
tax: 35,
range: 80000
},
r7: {
off: 13505,
tax: 45,
range: 80001
}
},
basic = 4800,
_off = 0,
_tax = 0,
_taxTotal = 0,
_realGet = 0,
_mo = mo || 12;
if(salary < range.r1.range) {
_off = range.r1.off;
_tax = range.r1.tax;
}else if(salary < range.r2.range) {
_off = range.r2.off;
_tax = range.r2.tax;
}else if(salary < range.r3.range) {
_off = range.r3.off;
_tax = range.r3.tax;
}else if(salary < range.r4.range) {
_off = range.r4.off;
_tax = range.r4.tax;
}else if(salary < range.r5.range) {
_off = range.r5.off;
_tax = range.r5.tax;
}else if(salary < range.r6.range){
_off = range.r6.off;
_tax = range.r6.tax;
}else{
_off = range.r7.off;
_tax = range.r7.tax;
}
_taxTotal = (( salary - basic ) * (_tax / 100) ) - _off;
_realGet = salary - _taxTotal;
// console.log('TAX(mo) RMB = ', _taxTotal, ' | NTD = ', _taxTotal * 5);
// console.log('REAL(mo) RMB = ', _realGet, ' | NTD = ', _realGet * 5);
// console.log('REAL(year=', _mo, ') RMB = ', _realGet * _mo, ' | NTD = ', _realGet * 5 * _mo);
return {
RMB: {
taxMonth: _taxTotal / _mo,
taxYear: _taxTotal,
realMonth: _realGet,
realYear: _realGet * _mo,
salaryMonth: salary,
salaryYear: salary * _mo,
taxRate: _tax + '%',
taxOff: _off
},
NTD: {
taxMonth: (_taxTotal * 5) / _mo,
taxYear: _taxTotal * 5,
realMonth: _realGet * 5,
realYear: _realGet * 5 * _mo,
salaryMonth: salary * 5,
salaryYear: salary * 5 * _mo,
taxRate: _tax + '%',
taxOff: _off * 5
}
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment