Mic*_*nny 0 delphi math financial delphi-2010
我正在尝试计算以下方案的每月付款:
5,000美元借款3年,每月复合8.00%,期末1000美元到期.
/*
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
Run Code Online (Sandbox Code Playgroud)
结果= -181.351526101918
结果正确,但它是否定的.
为什么Payment函数的结果返回负数?
负值是预期的.如果运行Excel的PMT功能,您将看到相同的结果.
该功能在钱的方向之间取得平衡.负号表示您正在为借入的资金支付资金(函数调用中的正值).如果在函数中切换为负值(即-5000和-1000),则结果为正.