银行利息计算器

时间:2016-03-02 00:00:37

标签: c# wpf for-loop foreach

我试图计算银行利息的计算器,比如1美元需要多少年才能变成15美元,利率为4%,但我得到的是一遍又一遍的相同数字,但我需要它每年更高,如第一年:1 $ * 4%的利息,第二年:4%的利息*第一年的利息,第三年:4%的利息*第二年的利息,依此类推,直到它点击15美元

    private void btreikna_Click(object sender, RoutedEventArgs e)
    {
        double vextir4 = 0.04;
        double vextir8 = 0.08;
        double vextir12 = 0.12;
        double vextir16 = 0.16;
        double vextir20 = 0.2;

        double startvextir = Convert.ToDouble(byrjunisk.Text);
        double artal = Convert.ToDouble(tbartal.Text);


        double plusplus = vextir4 * startvextir;
        double count = artal;

        List<int> listfullofints = new List<int>();

        for (int i = 0; i < artal; i++)
        {
            int[i]utkoma = plusplus * artal;
        }

2 个答案:

答案 0 :(得分:1)

你的代码不是很清楚,但你可能想要的是这样的:

decimal target = 15;
decimal start = 1;  
decimal interest = 0.04M;

decimal currentCapital = start;
var numOfYears = 0;
while (currentCapital < target)
{
    currentCapital = currentCapital + currentCapital*interest;
    numOfYears++;
}

Console.WriteLine(currentCapital + " in " + numOfYears);

关于该代码和您的尝试的几点注释。建议使用decimal进行精确计算(并且您希望精确计算金钱:) :)在您的代码中,您没有更新plusplus变量 - 它始终是最初的兴趣。最后一个注意事项 - 你不能使用循环,因为你不知道提前执行的数量。

答案 1 :(得分:1)

复利的经典公式是:

V = (1 + r) ^ t

V是未来值(或最终数字/原始数字),r是利率,t是时间。

因此,在您的情况下:V = 15(来自15/1),r = 0.04,找到t。或者,换句话说:

t = log (V) / log (1 + r)

我建议您使用Math.Log方法。

double t = Math.Log(15D) / Math.Log(1.04D);

获得你寻找的时间t(没有for循环)。您可能还有兴趣查看link JleruOHeP提供的利息计算。