【问题标题】:Calculate monthly percent计算每月百分比
【发布时间】:2014-02-24 20:26:26
【问题描述】:

在信用系统中,客户每月收取 %3 的债务,他必须每个月支付每月相同的债务才能结清债务。

我需要找到每个月相同的月度债务。我找不到那个,他们怎么找到221.02。我有一个样本:

Amount = 2200
Month count = 12 month  
Monthly percent = 3 %

在这种情况下,我们得到这个表:

     amount      %3 percent      net debt       monthly debt
 1.    2200          66.00         155.02           221.02
 2.    2044.98       61.34         159.67           221.02 
 3.    1885          56.55         164.46           221.02
 4.    1720.85       51.62         169.39           221.02
 5.    ......        .....         ......           221.02
 .........................................................
 12.   214.54        6.43          214.54           221.02

在此示例中,客户每月支付 221.02,并在 12 个月的债务结束后支付。计算是这样的:

第一个月,我们找到(2200*3/100)=66221.02-66 = 155.02。 第二个月:2200-155.02 = 2044.98 并继续。

我们在例子中看到,

For 2200 amount, for 12 months, monthly debt is 221.02. 
For 2200 amount, for 6 months, which monthly debt will we get?

一般来说,如果我们知道金额、百分比和月数,我们如何在 c# 中计算月度债务(每个月的值相同)?

提前致谢。

【问题讨论】:

  • 我想你在找amortization
  • 你知道算法是独立于语言的吗?在 C# 中计算它的算法与在 C++、C、Pascal、Java 和任何其他语言中执行的算法相同。这是标准的金融数学——如果你在这个领域工作,最好拿一本包含所有相关公式的书,这样你就知道你在做什么。有助于阅读。
  • @TomTom:那你是说language 在这种情况下实际上是无关紧要的?如果我理解正确,我同意。
  • 我知道,它不依赖于语言。谢谢
  • 我同意,我注意到 C#,因为如果有人想用代码编写,就会用 C# 编写。

标签: c# .net algorithm math accounting


【解决方案1】:

我相信这就是你要找的东西

Financial.Pmt

如果不看金融类

【讨论】:

    【解决方案2】:

    定期支付的一系列款项是年金。将总和划分为此类称为摊销。要确定固定金额,请将总和除以年金的现值。

    以下是在 Clojure(一种函数式语言)中计算 i 每个周期超过 n 个周期的即时年金的现值的方法。

    (defn pv-annuity [i n] 
      (let [v (/ 1 (+ 1 i))] 
        (apply + (take n (iterate (partial * v) v)))))
    

    也就是说,现值是每次付款的现值之和,1/(1+i), 1/(1+i)^2, 1/(1+i)^3, ..., 1/(1+i)^n

    然后是所需的固定付款

    (/ 2200 (pv-annuity 0.03 12))
    ;=> 221.0165880405186
    

    【讨论】:

      猜你喜欢
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 2019-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多