簡體   English   中英

銀行利息計算器

[英]Bank interest calculator

我正在嘗試制作一個銀行利息計算器,就像1美元變成4%利息的15美元需要多少年,但是我得到的只是一遍又一遍相同的數字,但是我需要每年更高,例如第一年: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;
        }

您的代碼不是很清楚,但是您可能想要的是這樣的東西:

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進行精確計算(並且您希望用money進行精確計算:))在您的代碼中,您並沒有更新plusplus變量-它始終是第一個關注點。 最后一點-您不能使用for循環,因為您不提前知道執行次數。

復利的經典公式是:

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循環)。 您可能也有興趣查看JleruOHeP提供的興趣計算鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM