Financial.Rate(Double, Double, Double, Double, DueDate, Double) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연금의 기간당 이자율을 지정하는 값을 반환합니다.
public static double Rate(double NPer, double Pmt, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod, double Guess = 0.1);
static member Rate : double * double * double * double * Microsoft.VisualBasic.DueDate * double -> double
Public Function Rate (NPer As Double, Pmt As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod, Optional Guess As Double = 0.1) As Double
매개 변수
- NPer
- Double
필수 사항입니다. 연금의 총 지급 기간 수입니다. 예를 들어 4년 자동차 대출에 대해 월별로 상환하는 경우 대출은 총 4 * 12(또는 48) 지불 기간이 있습니다.
- Pmt
- Double
필수 사항입니다. 각 기간마다 지급할 금액입니다. 결제 일반적으로 연금의 수명 동안 변경되지 않는 원금과 관심을 포함합니다.
- PV
- Double
필수 사항입니다. 일련의 향후 지불 또는 영수증의 현재 값 또는 현재 값입니다. 예를 들어, 자동차를 구입하기 위해 돈을 빌릴 때 대출 금액은 월별 자동차 지불액의 대출자에게 현재 가치입니다.
- FV
- Double
Optional. 최종 결제 후 원하는 미래 가치 또는 현금 잔액입니다. 예를 들어 대출의 미래 가치는 최종 지불 후의 값이므로 \$0입니다. 그러나 자녀의 교육을 위해 18년 동안 \$50,000를 절약하려면 \$50,000가 미래 값입니다. 생략하면 0이 가정됩니다.
- Due
- DueDate
Optional. 지불 기한을 지정하는 형식 DueDate 의 개체입니다. 이 인수는 지불 기간이 끝날 때 지불이 기한이 되는 경우 또는 DueDate.BegOfPeriod 지불이 기간의 시작 부분에 기한이 되는 경우여야 합니다DueDate.EndOfPeriod. 생략하면 DueDate.EndOfPeriod 가정됩니다.
- Guess
- Double
Optional. 예상하는 값은 .에서 반환됩니다 Rate. 생략 Guess 하면 0.1(10%)입니다.
반품
연금의 기간당 이자율입니다.
예외
NPer
<= 0.
예제
이 예제에서는 이 함수를 사용하여 Rate 총 상환 횟수(), 대출 상환액(TotPmts), 대출의 현재 값 또는 원금(Payment), 대출의 미래 가치(PValFVal), 상환 기간이 시작 또는 종료될지 여부를 나타내는 숫자(PayType)를 고려하여 대출 이자율을 계산합니다. 및 예상 이자율(Guess)의 근사치입니다.
Sub TestRate()
Dim PVal, Payment, TotPmts, APR As Double
Dim PayType As DueDate
' Define percentage format.
Dim Fmt As String = "##0.00"
Dim Response As MsgBoxResult
' Usually 0 for a loan.
Dim FVal As Double = 0
' Guess of 10 percent.
Dim Guess As Double = 0.1
PVal = CDbl(InputBox("How much did you borrow?"))
Payment = CDbl(InputBox("What's your monthly payment?"))
TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
Response = MsgBox("Do you make payments at the end of the month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100
MsgBox("Your interest rate is " & Format(CInt(APR), Fmt) & " percent.")
End Sub
설명
연금은 일정 기간 동안 이루어진 일련의 고정 현금 지불입니다. 연금은 대출(예: 주택 담보 대출) 또는 투자(예: 월별 저축 계획)일 수 있습니다.
모든 인수에서 저축과 같은 현금 지출은 음수로 표시하고 배당금과 같은 현금 수입은 양수로 표시합니다.
Rate 는 반복을 통해 계산됩니다. 값 GuessRate 부터 시작하여 결과가 0.00001% 이내로 정확할 때까지 계산을 순환합니다. 20번의 시도 후에 결과를 찾을 수 없으면 Rate 실패합니다. 추측이 10%이고 Rate 실패하는 경우 다른 값을 Guess사용합니다.