Rate(PeriodCount: Integer; PeriodPayment: Double; PresentValue: Double; [FutureValue: Double = 0;] [Type: Integer = 0;] [Guess: Double= 0.1]): Double;
PeriodCount. Общее число периодов платежей по аннуитету. Значение параметра должно быть больше нуля;
PeriodPayment. Выплата, производимая в каждый период; это значение не может меняться в течение всего периода выплат. Значение параметра должно отличаться по знаку от значения параметра PresentValue;
PresentValue. Приведенная стоимость или общая сумма, которая на текущий момент равноценна ряду будущих платежей. Значение параметра должно отличаться по знаку от значения параметра PeriodPayment;
FutureValue. Значение будущей стоимости, т. е. желаемого остатка средств после последней выплаты. Значение по умолчанию 0;
Type. Выбор времени платежа. Допустимые значения:
0. В конце периода;
1. В начале периода;
Значение по умолчанию 0;
Guess. Предполагаемая величина ставки. Значение по умолчанию 0.1.
Метод Rate возвращает процентную ставку по аннуитету за один период.
Rate вычисляется путем сходящегося итерационного процесса, поэтому если последовательные результаты функции Rate не сходятся с точностью 0,0000001, то Rate возвращает сообщение об ошибке.
Если функция Rate не сходится, попробуйте изменить значение параметра Guess. Функция Rate обычно сходится, если значение этого параметра находится между 0 и 1.
Для выполнения примера добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
r: String;
Begin
r := CultureInfo.Current.FormatDoublePrec(Finance.Rate(48, -200, 8000, 0, 0, 0.01), 2);
Debug.WriteLine(r);
End Sub UserProc;
В результате выполнения примера в окно консоли будет выведена процентная ставка, равная 0.01 или 1%.
См. также: