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.   

    自己写有什么难度吗,建议楼主自己多动手,如果你不知道如何创建一个类,建议你查阅一下msdn,唉,千万不要有这样的依赖性。
      

  2.   

    JS
    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"+"依法纳税是每个公民应尽的义务!!");
      

  3.   

    private decimal f(double m){
    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);
    }
      

  4.   

    哈,不知道我的对不对。--EXEC('UPDATE dbo.tmp_缴税表 SET 应减费用额=应减费用额+1000 WHERE 扣缴所得税>0')
    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')