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
필수 요소. 기간당 이자율입니다. 예를 들어, APR(연간 이자율) 10%로 자동차 대부를 받은 다음 매월 갚아 나가는 경우 월 이자율은 0.1/12, 즉 0.0083입니다.
- Per
- Double
필수 요소. 1에서 NPer
에 이르는 지불 기간입니다.
- NPer
- Double
필수 요소. 연금의 총 지불 기간 수입니다. 예를 들어, 자동차 대부를 받아 4년간 매월 갚아 나가는 경우 상환 기간은 총 4 x 12, 즉 48입니다.
- PV
- Double
필수 요소. 일련의 미래 지불액 또는 수령액의 현재 값입니다. 예를 들어, 자동차를 사기 위해 돈을 빌릴 경우 총 차입 금액은 매월 자동차 대금을 지불할 사람에게 갚아야 할 현재의 금액입니다.
- FV
- Double
선택 사항입니다. 최종 지불 후 앞으로 지불할 미래 값 또는 현금 잔액입니다. 예를 들어, 최종 지불 후의 대출 값은 $0이므로 대출의 미래 값은 $0입니다. 그러나 자녀의 교육을 위해 18년간 $50,000를 저축하려고 할 경우 $50,000가 미래 값이 됩니다. 생략된 경우 0이라고 가정합니다.
- Due
- DueDate
선택 사항입니다. DueDate 형식의 개체는 지불 기한을 지정합니다. 이 인수는 납입 기한 말에 납입이 되어야 하면 DueDate.EndOfPeriod
이고, 납입 기한 초에 납입이 되어야 하면 DueDate.BegOfPeriod
입니다. 생략하면 DueDate.EndOfPeriod
가 사용됩니다.
반환
일정 기간의 고정 지불액과 고정 이자율을 기준으로 일정 기간의 연금에 대한 원금 지불액입니다.
예외
Per
<=0 또는 Per
>NPer
입니다.
예제
이 예제에서는 함수를 PPmt
사용하여 모든 결제 금액이 동일한 경우 특정 기간에 대한 지불 금액이 원금인지 계산합니다. 지정된 기간당 이자율(APR / 12
), 원금 부분이 원하는 지급 기간(Period
), 총 지급 횟수(TotPmts
), 대출의 현재 가치 또는 원금(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
을 사용하여 계산해야 합니다.
모든 인수에 대해 지불된 현금(예: 저축 예금)은 음수로 표시됩니다. 받은 현금(예: 배당 수표)은 양수로 표시됩니다.
적용 대상
추가 정보
.NET