[英]c# How to add data from a file to array using streamreader and print it out with a calculation?
我有以下代码从csv文件读取值并进行一些处理。 关键是要处理并打印数据,直到每笔贷款达到零。 我特别需要按照以下说明打印出来:
CSV文件数据:
20000,0.003,2000
41000,0.0025,2200
第1个月:
汽车贷款1:
剩余余额:$ xxxxx
支付给校长:$ xxxxx
支付利息:$ xxxxx
汽车贷款2:
剩余余额:$ xxxxx
支付给校长:$ xxxxx
支付利息:$ xxxxx
第二个月...
ETC ...直到剩余余额为零。
目前,我只能让它输出Car Loan 1的数据,直到Remaining Balance达到零,然后才开始输出Car Loan 2的数据。
我的代码:
CarLoan[] objCarLoan = new CarLoan[3];
public static void LoadData(ref CarLoan[] objCarLoan, string filePath)
{
StreamReader reader = new StreamReader(filePath);
for (int i = 1; i < objCarLoan.Length; i++)
{
objCarLoan[i] = new CarLoan();
objCarLoan[i].startingTotal = Convert.ToDecimal(reader.ReadLine().Replace(',', '\n'));
objCarLoan[i].monthlyInterest = Convert.ToDecimal(reader.ReadLine().Replace(',', '\n'));
objCarLoan[i].monthlyPayment = Convert.ToDecimal(reader.ReadLine().Replace(',', '\n'));
}
reader.Close();
}
public void CarLoanCalculations()
{
//Console.WriteLine("\t Remaining Balance: " + (startingTotal - monthlyPayment));
while (startingTotal > 0)
{
if (startingTotal >= 0)
{
startingTotal -= monthlyPayment;
Console.WriteLine("Remaining Balance: " + startingTotal.ToString("C"));
Console.WriteLine("Payment to Principal: " + paymentToPrincipal.ToString("C"));
Console.WriteLine("Payment to Interest: " + paymentToInterest.ToString("C"));
Console.WriteLine("--------------------");
} else
{
Console.WriteLine("Balance: 0");
}
}
}
public static void DisplayMonthlyPayments(CarLoan[] objCarLoan)
{
for (int i = 1; i < objCarLoan.Length; i++)
{
Console.WriteLine("Car Loan" + i);
objCarLoan[i].CarLoanCalculations();
}
Console.ReadLine();
}
如果您阅读的是更多行,则应阅读一行然后将其拆分,然后可以使用ex-
objCarLoan[i] = new CarLoan();
string[] line = reader.ReadLine().Split(',');
objCarLoan[i].startingTotal = Convert.ToDecimal(line[0]);
objCarLoan[i].monthlyInterest = Convert.ToDecimal(line[1]);
objCarLoan[i].monthlyPayment = Convert.ToDecimal(line[2]);
试试这个,告诉我它是否有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.