一直试图将excel中使用的pmt函数实现为php。我有公式,但计算显示不正确。

30年期的6%利率,最终值为833333。

正确的答案应该是10,541。

付款应在期末支付,因此类型为零,现值为零。

<pre>
    $pv = 0;
    $fv = 833333;
    $i = 0.06/12;
    $n = 360;

    $pmt = (($pv - $fv) * $i )/ (1 - pow((1 + $i), (-$n)));

    echo $pmt;
</pre>

Using this link as reference for formula

最佳答案

我在PHPExcel中使用以反射(reflect)MS Excel公式的公式是:

$PMT = (-$fv - $pv * pow(1 + $rate, $nper)) /
    (1 + $rate * $type) /
    ((pow(1 + $rate, $nper) - 1) / $rate);

在哪里
  • $ rate =利率
  • $ nper =周期数
  • $ fv是终值
  • $ pv是现值
  • $ type是
  • 类型

    使用时返回与MS Excel相同的结果
    =PMT(6%/12, 360, 0, 833333, 0)
    

    当我使用它返回-10540.755358736(与MS Excel相同)的结果
    =PMT(0.06,30,0,833333,0)
    

    10-04 18:07