功能很简单,两个文本框一个按钮。在一个文本框输入工资,按下按钮后显示出计算工资
比如一个人收入5000,先减去19%的公积金,再减去3500(如果小于3500则不根据后面计算)税率计算:不超过1500的部分按3%计算,超过1500但小于4500的按10%计算,。再说的详细点:我在第一个文本框输入5000,按下按钮后,第二个文本框应显示4033.50;(5000-19%5000-3500)-( 5000-19%*5000-3500)*3%=4033.50帮我列出详细的代码,谢谢了。谁详细并且我做成了加分。

解决方案 »

  1.   

    就是一个税后工资计算功能 
    http://wenku.baidu.com/view/70a010220722192e4536f6b8.html?from=rec&pos=2&weight=5&lastweight=3&count=4
    看一下这个表就明白了
    求详细代码(包括代码位置)
      

  2.   

    public partial class Gongjijin : System.Web.UI.Page
    {
        double x, y, z;
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            y = Convert.ToDouble(TextBox1.Text) - Convert.ToDouble(TextBox1.Text) * 19 % -3500;
            if (y < 1500)
            {
                x = y - y * 0.03;
            }
            if (1500 < y && y < 4500)
            {
                x = y - y * 0.1;
            }
        }
        protected void TextBox2_TextChanged(object sender, EventArgs e)
        {
            TextBox2.Text = Convert.ToString(x);
        }}
    我写的,错误很多,能指出错误也很感谢,本人超菜鸟。
      

  3.   

    Convert.ToDouble(TextBox1.Text) * 19 %
    0.19
      

  4.   

     protected void Button1_Click(object sender, EventArgs e)
        {
            double x = Convert.ToDouble(TextBox1.Text) - Convert.ToDouble(TextBox1.Text) * 0.19 - 3500;
            double y = 0;
         
            if (x >80000)
            {
                y += (x - 80000) * 0.45;
                x = 80000;
            }
            if (x > 55000)
            {
                y += (x - 55000) * 0.35;
                x = 55000;
            }
            if (x > 35000)
            {
                y += (x - 35000) * 0.30;
                x = 35000;
            }
            if (x > 9000)
            {
                y += (x - 9000) * 0.25;
                x = 9000;
            }
            if (x > 4500)
            {
                y += (x - 4500) * 0.20;
                x =4500;
            }
            if (x > 1500)
            {
                y += (x - 1500) * 0.10;
                x = 1500;
            }
            if (x > 0) y += x * 0.03;
            TextBox2.Text = Convert.ToString(Convert.ToDouble(TextBox1.Text) - Convert.ToDouble(TextBox1.Text) * 0.19- y);    }
    我写好了,求改进功能或找错误!
      

  5.   


    加一个、、、if(x<0)
    {
       x=0;
    }
      

  6.   


    错的很彻底。、、如果 X > 80000那么  第一个条件成立、、第二个条件也成立、、、后面的。。楼主!!!!改成 else if   小错误不该犯的!!
      

  7.   

    给你改了一下
    double x = Convert.ToDouble(TextBox1.Text) - Convert.ToDouble(TextBox1.Text) * 0.19 - 3500;
                double y = 0;            if (x > 80000)
                {
                    y += (x - 80000) * 0.45;
                    x = 80000;
                }
                else if (x > 55000)
                {
                    y += (x - 55000) * 0.35;
                    x = 55000;
                }
                else if (x > 35000)
                {
                    y += (x - 35000) * 0.30;
                    x = 35000;
                }
                else if (x > 9000)
                {
                    y += (x - 9000) * 0.25;
                    x = 9000;
                }
                else if (x > 4500)
                {
                    y += (x - 4500) * 0.20;
                    x = 4500;
                }
                else if (x > 1500)
                {
                    y += (x - 1500) * 0.10;
                    x = 1500;
                }
                else if (x > 0) y += x * 0.03;
                else
                {
                    x = 0;
                    TextBox2.Text = "0";
                    return;
                }
                TextBox2.Text = Convert.ToString(Convert.ToDouble(TextBox1.Text) - Convert.ToDouble(TextBox1.Text) * 0.19 - y);
    不过你的 TextBox1 要加验证哦!!前台后台都要加的。。不然别人乱输程序会出错!还有。。TextBox2 最好改成只读的、、、