0

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

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

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

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

4

3 回答 3

8

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

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

于 2009-12-19T22:43:03.957 回答
1

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

于 2009-12-19T21:29:28.587 回答
1

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

于 2009-12-19T22:24:01.583 回答