解决 摊销时间表:每月本金福彩12选5走势图不正确

学习者

成员
已加入
2020年9月26日
留言内容
8
编程经验
Beginner
我正在尝试福彩12选5走势图摊销时间表。每月付款是通过单独的方法monthPayments()福彩12选5走势图的。我将其与在线的“摊销时间表”福彩12选5走势图器进行了比较,问题是正确福彩12选5走势图了本金余额(newPrincipleBalance),monthlyInterest和EMI(每月付款),而不是monthPrincipal。它一直在减少而不是增加。我该怎么做才能纠正它?我已附上控制台答案和在线福彩12选5走势图器以进行比较。这是我的代码。谢谢!!
C#:
            decimal principal = 10000;
            decimal rate =0;
            decimal EMI;
            decimal monthlyInterest;
            decimal monthlyPrincipal;
            decimal newPrincipalBalance;

            for (int i = 0; i <= 24; i++)
            {

                Console.WriteLine("principal " + principal);
                EMI = Math.Round(monthlyPayments(principal, 5, 2));
                Console.WriteLine("EMI " + EMI);

                monthlyInterest = (principal * rate) / 12;
                monthlyInterest = Math.Round((principal * 5 / 100) / 12);
                Console.WriteLine("monthlyInterest " + monthlyInterest);

                monthlyPrincipal = Math.Round(EMI - monthlyInterest);
                Console.WriteLine("monthlyPrincipal " + monthlyPrincipal);

                newPrincipalBalance = Math.Round(principal - monthlyPrincipal);
                Console.WriteLine("newPrincipalBalance " + newPrincipalBalance);
                Console.WriteLine("===================================");
                principal = newPrincipalBalance;
            }

public static decimal monthlyPayments(decimal principal, decimal rate, int years)
        {
            rate = rate / 1200;
            years = years * 12;

            decimal F = (decimal)Math.Pow((double)(1 + rate), years);
            return principal * (rate * F) / (F - 1);

}
 

附件

  • 控制台answer.png
    控制台answer.png
    27.2 KB · Views: 4
  • 在线Calculator.png
    在线Calculator.png
    23.1 KB · Views: 4
由主持人最后编辑:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,605
地点
弗吉尼亚州切萨皮克
编程经验
10+
欢迎来到论坛。将来,请在代码标签中发布您的代码。我已经为您完成了以上操作。
 

学习者

成员
已加入
2020年9月26日
留言内容
8
编程经验
Beginner
我正在尝试福彩12选5走势图摊销时间表。每月付款是通过单独的方法monthPayments()福彩12选5走势图的。我将其与在线的“摊销时间表”福彩12选5走势图器进行了比较,问题是正确福彩12选5走势图了本金余额(newPrincipleBalance),monthlyInterest和EMI(每月付款),而不是monthPrincipal。它一直在减少而不是增加。我该怎么做才能纠正它?我已附上控制台答案和在线福彩12选5走势图器以进行比较。这是我的代码。谢谢!!
C#:
            decimal principal = 10000;
            decimal rate =0;
            decimal EMI;
            decimal monthlyInterest;
            decimal monthlyPrincipal;
            decimal newPrincipalBalance;

            for (int i = 0; i <= 24; i++)
            {

                Console.WriteLine("principal " + principal);
                EMI = Math.Round(monthlyPayments(principal, 5, 2));
                Console.WriteLine("EMI " + EMI);

                monthlyInterest = (principal * rate) / 12;
                monthlyInterest = Math.Round((principal * 5 / 100) / 12);
                Console.WriteLine("monthlyInterest " + monthlyInterest);

                monthlyPrincipal = Math.Round(EMI - monthlyInterest);
                Console.WriteLine("monthlyPrincipal " + monthlyPrincipal);

                newPrincipalBalance = Math.Round(principal - monthlyPrincipal);
                Console.WriteLine("newPrincipalBalance " + newPrincipalBalance);
                Console.WriteLine("===================================");
                principal = newPrincipalBalance;
            }

public static decimal monthlyPayments(decimal principal, decimal rate, int years)
        {
            rate = rate / 1200;
            years = years * 12;

            decimal F = (decimal)Math.Pow((double)(1 + rate), years);
            return principal * (rate * F) / (F - 1);

}

我发现了自己犯的错误。 EMI在整个贷款期内应保持恒定,但我正在循环内进行福彩12选5走势图,每次使用新的本金都会对其进行更改。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,605
地点
弗吉尼亚州切萨皮克
编程经验
10+
很好找到问题。我将这个线程标记为已解决。我们不会删除线程,以便其他人有学习的机会。
 
最佳 底部