【问题标题】:Why Does Delphi's Math.Payment Function Return A Negative Number为什么 Delphi 的 Math.Payment 函数返回一个负数
【发布时间】:2009-12-19 21:04:31
【问题描述】:

我正在尝试计算以下场景的每月付款:

5,000 美元以 8.00% 的月利率借入 3 年,期末到期还款 1,000 美元。

/*
From Math.pas 
function Payment(Rate: Extended;
 NPeriods: Integer;
 const PresentValue: Extended;
 const FutureValue: Extended;
 PaymentTime: TPaymentTime): Extended;
*/

var
  Pmt : Extended;
begin
  Pmt := Payment(0.08/12,36,5000,1000,ptEndOfPeriod);
  Edit1.Text := FloatToStr(Pmt);
end

结果 = -181.351526101918

结果是正确的,只是它是否定的。

为什么支付函数的结果返回负数?

【问题讨论】:

    标签: delphi math delphi-2010 financial


    【解决方案1】:

    负值是预期的。如果您运行 Excel 的 PMT 函数,您将看到相同的结果。

    函数平衡了资金的走向。负号表示您正在用借来的钱付钱(函数调用中的正值)。如果您在函数中切换为负值(即 -5000 和 -1000),则结果将为正值。

    【讨论】:

      【解决方案2】:

      既然借了钱,可以试试**-**5000和**-**1000吗?

      【讨论】:

        【解决方案3】:

        要让 5000 变成 1000,你必须拿走一些东西,而不是增加它。由于您正在付款而不是收款,因此您应该预期为负数。

        【讨论】:

          猜你喜欢
          • 2011-12-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-04-03
          • 2017-05-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多