Financial.PPmt(Double, Double, Double, Double, Double, DueDate) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
정기 고정 지급액 및 고정 이자율에 따라 연금의 지정된 기간에 대한 원금 지급을 지정하는 값을 반환합니다.
public static double PPmt(double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member PPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function PPmt (Rate As Double, Per As Double, NPer As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double
매개 변수
- Rate
- Double
필수 사항입니다. 기간당 이자율입니다. 예를 들어 연간 10%의 비율(APR)으로 자동차 대출을 받고 매월 상환하는 경우 기간당 이자율은 0.1/12 또는 0.0083입니다.
- Per
- Double
필수 사항입니다. 1 NPer부터 .
- NPer
- Double
필수 사항입니다. 연금의 총 지급 기간 수입니다. 예를 들어 4년 차 대출에 대해 매월 상환하는 경우 대출의 총 상환 기간은 4 x 12(또는 48)입니다.
- PV
- Double
필수 사항입니다. 일련의 향후 지불 또는 영수증의 현재 값입니다. 예를 들어, 자동차를 구입하기 위해 돈을 빌릴 때 대출 금액은 월별 자동차 지불액의 대출자에게 현재 가치입니다.
- FV
- Double
Optional. 최종 결제 후 원하는 미래 가치 또는 현금 잔액입니다. 예를 들어 대출의 미래 가치는 최종 지불 후의 값이므로 \$0입니다. 그러나 자녀의 교육을 위해 18년 동안 \$50,000를 절약하려면 \$50,000가 미래 값입니다. 생략하면 0이 가정됩니다.
- Due
- DueDate
Optional. 지불 기한을 지정하는 형식 DueDate 의 개체입니다. 이 인수는 지불 기간이 끝날 때 지불이 기한이 되는 경우 또는 DueDate.BegOfPeriod 지불이 기간의 시작 부분에 기한이 되는 경우여야 합니다DueDate.EndOfPeriod. 생략하면 DueDate.EndOfPeriod 가정됩니다.
반품
정기 고정 지급액 및 고정 이자율에 따른 연금의 지정된 기간에 대한 원금 지급입니다.
예외
Per
<=0 또는 Per>NPer.
예제
이 예제에서는 함수를 PPmt 사용하여 모든 지불액이 동일한 경우 특정 기간에 대한 지불 금액이 원금인지 계산합니다. 지정된 기간당 이자율(APR / 12), 원금 부분이 원하는 지급 기간(), 총 지불 수(PeriodTotPmts), 대출의 현재 가치 또는 원금(PVal), 대출의 미래 가치(FVal) 및 지불 기간이 시작 또는 종료될지 여부를 나타내는 숫자(PayType)가 있습니다.
Sub TestPPMT()
Dim PVal, APR, TotPmts, Payment, Period, P, I As Double
Dim PayType As DueDate
Dim Msg As String
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?"))
' Ensure proper form.
If APR > 1 Then APR = APR / 100
TotPmts = CDbl(InputBox("How many monthly payments do you have to 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 = Math.Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
' See if chart is desired.
Response = MsgBox(Msg, MsgBoxStyle.YesNo)
If Response <> MsgBoxResult.No Then
If TotPmts > 12 Then MsgBox("Only first year will be shown.")
Msg = "Month Payment Principal Interest" & Environment.NewLine
For Period = 1 To TotPmts
' Show only first 12.
If Period > 12 Then Exit For
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
' Round principal.
P = (Int((P + 0.005) * 100) / 100)
I = Payment - P
' Round interest.
I = (Int((I + 0.005) * 100) / 100)
Msg = Msg & Period & vbTab & Format(Payment, Fmt)
Msg = Msg & vbTab & Format(P, Fmt) & vbTab & Format(I, Fmt) & Environment.NewLine
Next Period
' Display amortization table.
MsgBox(Msg)
End If
End Sub
설명
연금은 일정 기간 동안 이루어진 일련의 고정 현금 지불입니다. 연금은 대출(예: 주택 담보 대출) 또는 투자(예: 월별 저축 계획)일 수 있습니다.
인수와 NPer 인수는 Rate 동일한 단위로 표현된 지불 기간을 사용하여 계산해야 합니다. 예를 들어 월을 사용하여 계산되는 경우 Rate 월 NPer 을 사용하여 계산해야 합니다.
모든 인수에 대해 지불된 현금(예: 저축 예금)은 음수로 표시됩니다. 받은 현금(예: 배당금 수표)은 양수로 표시됩니다.