다음을 통해 공유


Financial.Rate(Double, Double, Double, Double, DueDate, Double) 메서드

정의

연금에 대한 일정 기간당 이자율을 지정하는 값을 반환합니다.

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

선택 사항입니다. 최종 지불 후 앞으로 지불할 미래 값 또는 현금 잔액입니다. 예를 들어, 최종 지불 후의 대출 값은 $0이므로 대출의 미래 값은 $0입니다. 그러나 자녀의 교육을 위해 18년간 $50,000를 저축하려고 할 경우 $50,000가 미래 값이 됩니다. 생략된 경우 0이라고 가정합니다.

Due
DueDate

선택 사항입니다. DueDate 형식의 개체는 지불 기한을 지정합니다. 이 인수는 납입 기한 말에 납입이 되어야 하면 DueDate.EndOfPeriod이고, 납입 기한 초에 납입이 되어야 하면 DueDate.BegOfPeriod입니다. 생략하면 DueDate.EndOfPeriod가 사용됩니다.

Guess
Double

선택 사항입니다. Rate가 반환하는 추정 값입니다. 생략할 경우 Guess는 0.1(10%)이 됩니다.

반환

연금에 대한 일정 기간당 이자율입니다.

예외

NPer<= 0.

예제

이 예제에서는 함수를 Rate 사용하여 총 상환 횟수(), 대출 상환 금액(TotPmts), 대출의 현재 가치 또는 원금(Payment), 대출의 미래 가치(PVal), 지불 기한이 지불 기간의 시작 또는 끝에 있는지 여부를 나타내는 숫자(FValPayType)를 고려하여 대출 금리를 계산합니다. 예상 금리(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.000001% 이내로 정확할 때까지 계산을 순환합니다. 20번의 시도 후 결과를 찾을 수 없으면 Rate 실패합니다. 추측이 10%이고 Rate 실패하면 에 대해 다른 값을 Guess시도합니다.

적용 대상

추가 정보