错误的利息计算,委托人和委托人C#中的平衡

时间:2015-08-12 09:22:45

标签: c#

我正在使用C#创建一个摊销流程。但我有一个问题,为什么我的利益,校长和&平衡。

这是我的C#Amortization截图。

enter image description here

无论如何它应该是这样的。

enter image description here

这是我的C#代码。

double PV = Convert.ToDouble(txt_principal.Text);
double NPER = Convert.ToDouble(txt_nop.Text);
double RATE = Convert.ToDouble(txt_irpp.Text);
double PMT = Convert.ToDouble(txt_payment.Text);

String PMT_string = PMT.ToString("#,###.##");
String RATE_string = RATE.ToString("#,###.##");
String NPER_string = NPER.ToString("#,###.##");
String PV_string = PV.ToString("#,###.##");

int count = 0;
for (count = 0; count < NPER; count++) 
{
    dgv_table.Rows.Add(1);
    int numrows = count + 1;
    dgv_table.Rows[count].Cells[0].Value = numrows;
    dgv_table.Rows[count].Cells[1].Value = PMT_string;
    double interest = PV * RATE / 100;
    double principal = PMT - RATE;
    if (PV < PMT) 
    {
        principal = PV;
        PMT = RATE + principal;
    }
    PV = PV - principal;
    if (PV < 0) 
    {   
        principal = principal + PV;
        RATE = RATE - PV;
        PV = 0;
    }
    dgv_table.Rows[count].Cells[2].Value = interest.ToString("#,###.##");
    dgv_table.Rows[count].Cells[3].Value = principal.ToString("#,###.##");
    dgv_table.Rows[count].Cells[4].Value = PV.ToString("#,###.##");

任何帮助先生。为什么我的利益,本金和价值的价值平衡错了?

1 个答案:

答案 0 :(得分:1)

我能看到的第一个问题是:

double principal = PMT - RATE;

这使您的利率远离支付以获得原则。这就是为什么在第一行中,您有14,544.16而不是11,047.66作为原则。改为将其切换为:

double principal = PMT - interest;

编辑:修复上述操作会修复所有结果。 (虽然我希望这有所帮助,但我仍然投票支持这个问题:它不适合StackOverflow的格式,因为它不太可能对其他人有用。)