定义taxRate并将其应用于用户输入的年收入

时间:2015-06-19 23:32:53

标签: c# visual-studio visual-studio-2013

taxRate在当前上下文中不存在。如何将其应用于if / else if语句?

<!DOCTYPE html>
<head runat="server">
</head>
<body>
<form id="form1" name="form1" runat="server">
    <div style="TEXT-ALIGN: center">
       Annual Income: <asp:TextBox ID="income" runat="server"></asp:TextBox>
    <br /><br />
       Number of dependents: <asp:TextBox ID="dependents" runat="server"></asp:TextBox>
    <br /><br />
    <asp:Button ID="calculate" runat="server" Text="Calculate Tax" OnClick="calculate_Click" />
    <br /><br />        
       Total Tax: <asp:TextBox ID="total" runat="server"></asp:TextBox>
    </div>
  </form>
 </body>
</html>

taxRate是我的问题所在,我把它作为一个双倍,它的初始值是1.这会是一个问题吗?我收到一条警告说它的价值从未使用过。

namespace WebApplication1 
{
public partial class Form1 : System.Web.UI.Page  {

protected void Page_Load(object sender, EventArgs e)    
    {

    }

protected void calculate_Click(object sender, EventArgs e) {
    int num1 = Int32.Parse(income.Text);
    int num2 = Int32.Parse(dependents.Text);
    int TaxableIncome = num1 - (num2 * 1000);
    double taxRate = 1;
    if (TaxableIncome <= 15000) taxRate = 0.10;
    else if (TaxableIncome <= 71000 && TaxableIncome > 15000) taxRate = 0.15;
    else if (TaxableIncome <= 192000 && TaxableIncome > 71000) taxRate = 0.25;
    else if (TaxableIncome <= 378000 && TaxableIncome > 192000) taxRate = 0.28;
    else if (TaxableIncome <= 450000 && TaxableIncome > 378000) taxRate = 0.33;
    else if (TaxableIncome > 450000) taxRate = 0.396;
    total.Text = TaxableIncome.ToString();
    }
  }
}

2 个答案:

答案 0 :(得分:0)

您需要在方法中声明taxRate才能使用它。

protected void calculate_Click(object sender, EventArgs e)
{
    decimal taxRate = 1;
    // the if statements here 
    // use taxRate for whatever else here. 
}

答案 1 :(得分:0)

问题在于你没有使用它。您可以指定速率,但在if块之后永远不会对其进行计算。在你的最后一行中这样做:

total.Text = (taxRate * TaxableIncome).ToString();

我会将taxRate设置为零,因为如果你搞砸了,就会产生100%的税。

有点偏离主题,如果这是美国联邦税,计算过于简单,因为所得税已经毕业。