[英]Why is my code not displaying output in RichTextBox for windows forms Visual Studio? C#
無法弄清楚我在這里做錯了什么,以使我的 output 看起來像示例。 我附上了示例 output + 我得到的 output。 我沒有找到任何錯誤或錯誤,但這是我的循環做錯了嗎? 我對編程相當缺乏經驗,如果這是一個簡單的錯誤,我深表歉意。
private double CalcPayment(double principal, double rate, int term)
{
double payment = (principal * rate) / (1 - (Math.Pow(rate + 1, -term)));
return payment;
}
private void btnCalc_Click(object sender, EventArgs e)
{
//Input
double principal = Convert.ToDouble(txtPrincipal.Text);
double rate = Convert.ToDouble(txtRate.Text);
int term = Convert.ToInt32(txtTerm.Text);
//Processing
rate /= 100;
double balance = principal;
double annualPayment = CalcPayment(principal, rate, term);
rtbOut.Text = "Village of Muddy Bottom".PadLeft(15) + "\n" + "Bond Payment Schedule".PadLeft(16) + "\n";
int yearsCounter;
double annualInterest;
double principalPaid;
double totalInterest = 0;
for (yearsCounter = 1; yearsCounter <= term; yearsCounter++)
{
annualInterest = balance * rate;
principalPaid = annualPayment - annualInterest;
balance -= principalPaid;
totalInterest += annualInterest;
rtbOut.Text = term.ToString().PadLeft(5) + balance.ToString("c").PadLeft(20) + annualInterest.ToString("c").PadLeft(30) + principalPaid.ToString("c").PadLeft(40) + "\n";
}
//Postprocessing/Output
rtbOut.Text = "Total" + totalInterest.ToString("c").PadLeft(40);
lblPayment.Text = annualPayment.ToString("c");
}
問題是您正在覆蓋行中的現有文本
rtbOut.Text = "Total" + totalInterest.ToString("c").PadLeft(40);
這就是為什么您只顯示總數。 你可以通過串聯來解決這個問題。 只需在將文本分配給 UI 控件的任何位置添加一個“+”即可。
如果您對lblPayment.Text
也有問題,請執行相同操作
private double CalcPayment(double principal, double rate, int term)
{
double payment = (principal * rate) / (1 - (Math.Pow(rate + 1, -term)));
return payment;
}
private void btnCalc_Click(object sender, EventArgs e)
{
//Input
double principal = Convert.ToDouble(txtPrincipal.Text);
double rate = Convert.ToDouble(txtRate.Text);
int term = Convert.ToInt32(txtTerm.Text);
//Processing
rate /= 100;
double balance = principal;
double annualPayment = CalcPayment(principal, rate, term);
rtbOut.Text = "Village of Muddy Bottom".PadLeft(15) + "\n" + "Bond Payment Schedule".PadLeft(16) + "\n";
int yearsCounter;
double annualInterest;
double principalPaid;
double totalInterest = 0;
for (yearsCounter = 1; yearsCounter <= term; yearsCounter++)
{
annualInterest = balance * rate;
principalPaid = annualPayment - annualInterest;
balance -= principalPaid;
totalInterest += annualInterest;
rtbOut.Text += term.ToString().PadLeft(5) + balance.ToString("c").PadLeft(20) + annualInterest.ToString("c").PadLeft(30) + principalPaid.ToString("c").PadLeft(40) + "\n";
}
//Postprocessing/Output
rtbOut.Text += "Total" + totalInterest.ToString("c").PadLeft(40);
lblPayment.Text = annualPayment.ToString("c");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.