Для DateDiff:
Вы смотрели на функцию DecodeDate? Это не точно именно то, что вам нужно, но
на ее основе можно сделать вашу функцию именно с нужной вам функциональностью.
Для величины Present:
|
|
function
PresentValue(const cashflows : array of double; { отсортированные транзакции, начальный индекс - cashflows[0]
}
n : integer; { количество транзакций в
массиве }
rate : double; { оценочный процент за
истекший период }
atbegin : boolean) : double; { true, если
транзакция была в начале периода,
false если в конце } var
i : integer;
factor : double; begin
factor := (1 + rate / 100.0);
result := 0;
for i := n - 1 downto 0 do
result := (result + cashflows[n]) / factor;
if atbegin then
result := result * factor;
end; | |