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();
}
}
}
答案 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%的税。
有点偏离主题,如果这是美国联邦税,计算过于简单,因为所得税已经毕业。