2009-12-19 41 views
0

我試圖計算以下情形每月支付:爲什麼德爾福Math.Payment函數返回一個負數

$ 5,000的$ 1,000每月複利8.00%,由於在年底借3年期限。

/* 
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

的結果是正確的,除了它是負的。

爲什麼Payment函數的結果返回一個負數?

回答

8

預期爲負值。如果您運行Excel的PMT功能,您將看到相同的結果。

功能在錢的走向之間取得平衡。負號表示您正在爲借出的資金(函數調用中的正值)付錢。如果您在功能中切換到負值(即-5000和-1000),則結果爲正值。

1

既然你借了錢,你可以試試** - ** 5000和** - ** 1000嗎?

1

5000要成爲1000,你必須拿走東西,而不是增加它。由於您正在付款而沒有收到付款,因此您應該預計會有負值。