Função Rate
Retorna um Double especificando a taxa de juros por período de uma anuidade.
Function Rate( _
ByVal NPer As Double, _
ByVal Pmt As Double, _
ByVal PV As Double, _
Optional ByVal FV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod, _
Optional ByVal Guess As Double = 0.1 _
) As Double
Parâmetros
NPer
Obrigatório.Double Especifica o número total de períodos de pagamento da anuidade. Por exemplo, se você fizer pagamentos mensais por um empréstimo de carro de quatro anos, o empréstimo terá um total de 4 x 12 (ou 48) períodos de pagamento.Pmt
Obrigatório.Double Especifica o pagamento efetuado a cada período. Pagamentos geralmente contêm capital e juros que não altere durante a vigência da anuidade.PV
Obrigatório.Double Especifica o presente de valor ou valor hoje em dia, de uma série de futuros pagamentos ou recebimentos. Por exemplo, quando você pedir dinheiro emprestado para comprar um carro, valor do empréstimo é o valor atual para o credor dos pagamentos mensais do carro que você fará.FV
Opcional.Double Especifica o futuro valor ou o Equilíbrio em dinheiro desejado após fazer o pagamento final. Por exemplo, o valor futuro de um empréstimo é $0, porque esse será o valor depois do pagamento.Entretanto, se você quiser economizar $50,000 durante 18 anos para a educação de seu filho, então $50,000 é o valor futuro.Se omitido, 0 será adotado.Due
Opcional.Objeto do tipo Enumeração DueDate que especifica quando os pagamentos devem ser feitos.Esse argumento deve ser DueDate.EndOfPeriod se os pagamentos devem ser feitos ao final do período de pagamento, ou DueDate.BegOfPeriod se os pagamentos devem ser feitos no início do período.Se omitido, DueDate.EndOfPeriod será adotado.Guess
Opcional.Double Especifica o valor que você acha retornado pelo Rate. Se omitido, Guess é 0,1 (10 por cento).
Exceções
Tipo de exceção |
Número de erro |
Condição |
---|---|---|
NPer <= 0. |
Ver a coluna " número de erro " se você estiver atualizando aplicativos Visual Basic 6.0 que usam manipulação de erros não estruturada.(Você pode comparar o número do erro com a Propriedade do Número (Erro de objeto).) Entretanto, quando for possivel, você pode considerar substituir tal controle de erro por Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic.
Comentários
Uma anuidade é uma série de pagamentos fixos em dinheiro feitos em um período de tempo.Uma anuidade pode ser um empréstimo (como uma hipoteca doméstica) ou um investimento (como um plano de economias mensais).
Para todos os argumentos, dinheiro pago (como depósito em poupança) é representado por números negativos e dinheiro recebido (como cheques de dividendos) é representado por números positivos.
Rate é calculada por iteração.Iniciando com o valor de Guess, Rate verificará o cálculo até que o resultado seja exato, de 0,00001 %.Se Rate Não é possível encontrar um resultado após 20 tentativas, ele falhará.Se a sua estimativa é 10 por cento e Rate falhar, tente um valor diferente de Guess.
Exemplo
O exemplo usa a função Rate para calcular a taxa de juros de um empréstimo, dado o número total de pagamentos (TotPmts), o montante do pagamento do empréstimo (Payment), o valor presente ou principal do empréstimo PVal), o valor futuro do empréstimo (FVal), um número que indica se o pagamento é devido no começo ou no fim do período de pagamentoPayType), e uma aproximação da taxa de juros esperada(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
Requisitos
Namespace:Microsoft.VisualBasic
**Módulo:**Financial
Assembly: Visual Basic Runtime Library (em Microsoft.VisualBasic.dll)