Pmt 函式
更新:2007 年 11 月
傳回 Double,指定以定期、固定付款及固定利率為基礎的年金支付。
Function Pmt( _
ByVal Rate As Double, _
ByVal NPer As Double, _
ByVal PV As Double, _
Optional ByVal FV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double
參數
Rate
這是必要項。Double 指定每一期的利率。例如,如果您的汽車貸款年利率 (APR) 為 10% 並採月付方式償還,則每期的利率為 0.1/12,也就是 0.0083。NPer
這是必要項。Double 指定年金保險投資中付款的總期數。例如,如果您的四年期汽車貸款是採月付方式償還,則付款總期數就是 4 × 12 (即 48) 期。PV
必要項。Double 指定未來應支付的一連串付款的現值 (或總金額) 為當前價值。例如,當您貸款買車時,貸款金額就是您要以每月支付方式付給貸方的車款金額現值。FV
這是選擇項。Double 指定在最後一次付款之後,您想要的未來值或現金結存。例如,貸款的未來值為 $0,因為是代表最後一期付款之後的值。不過,如果您想要在 18 年期間存 50,000 美元做為子女教育費用,那麼 50,000 美元就是這個未來值。如果省略,則假設為 0。Due
選擇項。DueDate 列舉型別 型別的物件,指定付款何時到期。這個引數必須是 DueDate.EndOfPeriod (若付款期限是付款期間的結束日),或 DueDate.BegOfPeriod (若付款期限是付款期間的開始日)。如果省略,則假設為 DueDate.EndOfPeriod。
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
NPer = 0. |
如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。
備註
年金是在一段期間內一連串的固定現金付款。年金可以是借貸 (例如房屋抵押貸款) 也可以是投資 (例如每月定存存單)。
Rate 和 NPer 引數必須使用以相同單位表示的付款週期計算。例如,如果 Rate 是以月計算,則 NPer 也必須以月來計算。
凡是引數,現金支出 (例如存款) 都以負數來表示,現金收入 (例如股息支票) 則以正數來表示。
範例
這個範例會使用 Pmt 函式,傳回固定期間內每月償還的貸款。前提是提供每一期的利率 (APR / 12)、付款總數 (TotPmts)、貸款的現值或本金 (PVal)、貸款的未來值 (FVal) 和表示付款時間是在付款期間開頭或結尾的數字 (PayType).。
Sub TestPMT()
Dim PVal, APR, Payment, TotPmts As Double
Dim PayType As DueDate
Dim Response As MsgBoxResult
' Define money format.
Dim Fmt As String = "###,###,##0.00"
' Usually 0 for a loan.
Dim FVal As Double = 0
PVal = CDbl(InputBox("How much do you want to borrow?"))
APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = CDbl(InputBox("How many monthly payments will you make?"))
Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
Payment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)
MsgBox("Your payment will be " & Format(Payment, Fmt) & " per month.")
End Sub
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
**模組︰**Financial
組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)