如何在ASP.NET中回显或打印以测试if-else条件
本文关键字:打印 测试 条件 if-else ASP NET | 更新日期: 2023-09-27 18:21:59
我正在尝试在ASP.NET中制作一个简单的时间计算程序,人们可以在其中输入金额、年利息和每月付款。
我需要以月为单位计算出偿还债务和利息的时间,我想使用if else
条件测试月供金额是否小于月利息金额,但它似乎不起作用。如果我提供的月供小于月利息金额,则程序将挂起。
我的代码:
protected void btnCalculate_Click(object sender, EventArgs e)
{
if (IsValid)
{
int BorrowAmount = Convert.ToInt32(txtBorrow.Text);
double InterestRate = Convert.ToDouble(txtRate.Text);
int MonthlyPay = Convert.ToInt32(txtMAmount.Text);
double Rammount = BorrowAmount;
double monthlyIntRate = InterestRate / 12;
//LblNoMonths.Text = Convert.ToString(monthlyIntRate);
//LblNoMonths.Text = Convert.ToString(monthlyIntRate);
double firstmonthlyIntRateAmt = ((monthlyIntRate / 100) * Rammount);
if (MonthlyPay >= firstmonthlyIntRateAmt)
{
int month = 0;
while (Rammount >= MonthlyPay)
{
month++;
double monthlyIntRateAmt = ((monthlyIntRate / 100) * Rammount);
Rammount = Rammount - (MonthlyPay - monthlyIntRateAmt);
}
LblNoMonths.Text = Convert.ToString(month);
}
else
{
LblNoMonths.Text ="Monthly payment is less than the monthly interest rate!!";
}
}
}
其他条件内的代码似乎没有影响:
LblNoMonths.Text =@"Monthly payment is less than the monthly interest rate!!";
我做错什么了吗?
只需在If语句(断点)上按F9即可开始调试。要继续前进,只需使用F10来遵循代码执行流程!;)您也可以使用VS监视窗口来查看每个值内的确切金额。。。没有什么能帮助你!
您告诉我们的是,您的程序似乎挂起了。我不能直接帮助你的逻辑(因为这取决于你想要执行的演算),但至少我可以为你指出一些事情来帮助解决问题
while条件可能是程序挂起的位置。根据变量设置的值,您可能永远不会退出此循环。你必须小心,如果这些值没有意义,你必须以一种退出条件的方式重新设计它。如果你真的被一些特定的值卡住了,检查它的方法是在调试模式下运行程序(并手动测试无限循环),或者你可以在while循环中使用计数器轻松地执行一些Console.WriteLine语句,并检查控制台窗口的输出,如果循环从未退出,这应该会给你提示。else子句也是如此,写入控制台调试输出,看看代码是否在那里输入,这应该会为您指明正确的方向。无论如何,这是为了识别问题,修复它可能需要更改代码逻辑(正如我告诉你的,当从业务角度来看有些事情没有意义时,在while循环中指定退出条件)