double 个人所得税(double 数字); decimal 个人所得税(decimal 数字);
要求如下:
个人所得税表:
扣除基数 税额1 税额2 税率 速算扣除数
KKJS SUIE1 SUE2 SUIL KCS
---------------------------------------------------------------------
1.1100 0 500 0.05 0
2. 1100 500 2000 0.10 25
3. 1100 2000 5000 0.15 125
4. 1100 5000 20000 0.20 375
5. 1100 20000 40000 0.25 1375
6. 1100 40000 60000 0.30 3375
7. 1100 60000 80000 0.35 6375
8. 1100 80000 100000 0.40 10375
9. 1100 100000 0.45 15375
计算公式:
额差 = (金额-扣除基数);
税率变量=0;速算扣除数变量=0;
//根据个人所得税表(上表)取值
If(0<额差<=500)税率变量=0.05;速算扣除数变量=0;
If(500<额差<=2000)税率变量=0.10;速算扣除数变量=25;
If(2000<额差<=5000)税率变量=0.15;速算扣除数变量=125;
//以此类推
个人所得税=金额*税率变量-速算扣除数变量;
返回个人所得税。
传入的参数:
1. Double 金额,即当前要扣除个人所得税的金额
2. Double 扣除基数,一般扣除基数是相同的,如1100.00
3. Double 税额数组,如double SuiE[{0,500,2000,5000,20000,40000,60000,80000,100000};
4. Double 税率数组,如 double SuiLv[{0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45};
5. Double 速算扣除数数组,如 double KCS[]{0,25,125,375,1375,3375,6375,10375,15375}
6. 返回值double
注:要求在方法中进行数组的相关判断验证
C#要测试,并无语法错误!
要求如下:
个人所得税表:
扣除基数 税额1 税额2 税率 速算扣除数
KKJS SUIE1 SUE2 SUIL KCS
---------------------------------------------------------------------
1.1100 0 500 0.05 0
2. 1100 500 2000 0.10 25
3. 1100 2000 5000 0.15 125
4. 1100 5000 20000 0.20 375
5. 1100 20000 40000 0.25 1375
6. 1100 40000 60000 0.30 3375
7. 1100 60000 80000 0.35 6375
8. 1100 80000 100000 0.40 10375
9. 1100 100000 0.45 15375
计算公式:
额差 = (金额-扣除基数);
税率变量=0;速算扣除数变量=0;
//根据个人所得税表(上表)取值
If(0<额差<=500)税率变量=0.05;速算扣除数变量=0;
If(500<额差<=2000)税率变量=0.10;速算扣除数变量=25;
If(2000<额差<=5000)税率变量=0.15;速算扣除数变量=125;
//以此类推
个人所得税=金额*税率变量-速算扣除数变量;
返回个人所得税。
传入的参数:
1. Double 金额,即当前要扣除个人所得税的金额
2. Double 扣除基数,一般扣除基数是相同的,如1100.00
3. Double 税额数组,如double SuiE[{0,500,2000,5000,20000,40000,60000,80000,100000};
4. Double 税率数组,如 double SuiLv[{0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45};
5. Double 速算扣除数数组,如 double KCS[]{0,25,125,375,1375,3375,6375,10375,15375}
6. 返回值double
注:要求在方法中进行数组的相关判断验证
C#要测试,并无语法错误!
解决方案 »
- 【求助】求一个高效的中英文全角半角符号字符截取函数
- 图片和文字分服务器的问题??高分,求高手过来帮我解答一下?
- js 调用WebService跨域 提示没有权限
- 求大侠们救命啊,作业做吐血啦,本人新手,简单问题
- 求一个思路
- 低级问题,网页引用。
- DataList中的ItemTemplate的ImageUrl问题
- datagrid中的列按照不同条件显示不同内容,并且是链接形式?
- 高分求购一个问题(在线等待)
- 无法在web服务器上启动调试.未将项目配置为进行调试.
- 在MSDN中找得我脑袋发晕了!特向老鸟请教:innerText的问题
- webform中的msgbox不能用,请问ServiceNotification在什么地方指定?怎么指定?
var basicm,totalmoney,cha,output;
totalmoney=document.form1.money.value;
basicm=document.form1.KCmoney.value;
cha=(totalmoney-basicm);
if (cha<=0) {output=0;}
if (cha>0&&cha<=500) {output=cha*0.05;}
if (cha>500&&cha<=2000) {output=cha*0.1-25;}
if (cha>2000&&cha<=5000) {output=cha*0.15-125;}
if (cha>5000&&cha<=20000) {output=cha*0.2-375;}
if (cha>20000&&cha<=40000) {output=cha*0.25-1375;}
if (cha>40000&&cha<=60000) {output=cha*0.30-3375;}
if (cha>60000&&cha<=80000) {output=cha*0.35-6375;}
if (cha>80000&&cha<=100000) {output=cha*0.4-10375;}
if (cha>100000&&cha>100000) {output=cha*0.45-15375;}
alert("应缴个人所得税额="+output+"元"+"\n"+"\n"+"依法纳税是每个公民应尽的义务!!");
m=m - 1100;
DataTable table = new DataTable();
DataColumnCollection columns = table.Columns;
columns.Add("n1", typeof(System.Double));
columns.Add("n2", typeof(System.Double));
columns.Add("n3", typeof(System.Double));
DataRow dr=table.NewRow();
dr[0]=500; dr[1]=0.05; dr[2]=0;
table.Rows.Add(dr);
dr=table.NewRow();
dr[0]=2000; dr[1]=0.1; dr[2]=25;
table.Rows.Add(dr);
dr=table.NewRow();
dr[0]=5000; dr[1]=0.15; dr[2]=125;
table.Rows.Add(dr);
//在这里加上你的各种划分界线吧 Double w=0; DataRow drEnd=table.Rows[table.Rows.Count -1];
if(m >= Convert.ToDouble(drEnd[0]))
{
w= m * Convert.ToDouble(drEnd[1]) - Convert.ToDouble(drEnd[2]);
}
else
{
foreach(DataRow drow in table.Rows)
{
if(m < Convert.ToDouble(drow[0]))
{
w= m * Convert.ToDouble(drow[1]) - Convert.ToDouble(drow[2]);
break;
}
}
}
return Convert.ToDecimal(w);
}
EXEC('UPDATE dbo.tmp_缴税表 SET 收入额=收入额-应减费用额,应减费用额=1000 WHERE 扣缴所得税>0')
EXEC('UPDATE dbo.tmp_缴税表 SET 应纳税所得额=收入额-应减费用额')EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''5%'',速算扣除额=0 WHERE 扣缴所得税>0 AND 扣缴所得税<25')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''10%'',速算扣除额=25 WHERE 扣缴所得税 BETWEEN 25 AND 175')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''15%'',速算扣除额=125 WHERE 扣缴所得税 BETWEEN 175 AND 625')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''20%'',速算扣除额=375 WHERE 扣缴所得税 BETWEEN 625 AND 3625')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''25%'',速算扣除额=1375 WHERE 扣缴所得税 BETWEEN 3625 AND 8625')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''30%'',速算扣除额=3375 WHERE 扣缴所得税 BETWEEN 8625 AND 14625')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''35%'',速算扣除额=6375 WHERE 扣缴所得税 BETWEEN 14625 AND 21625')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''40%'',速算扣除额=10375 WHERE 扣缴所得税 BETWEEN 21625 AND 29625')
EXEC('UPDATE dbo.tmp_缴税表 SET 税率=''45%'',速算扣除额=15375 WHERE 扣缴所得税 >29625')
EXEC('UPDATE dbo.tmp_缴税表 SET 收入额=收入额-应减费用额,应减费用额=0,应纳税所得额=0 WHERE 扣缴所得税 =0')
EXEC('DELETE FROM dbo.tmp_缴税表 WHERE 收入额=0')